如何在 UWP/RT XAML 中声明一个 System 数据类型?

16

我正在尝试在UWP的XAML中访问StaticResource变量的系统命名空间。

这大致是我正在使用的:

<Page
    x:Class="App.UWP.Views.Step6"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:System="using:System"
    mc:Ignorable="d">

    <Page.Resources>
        <System:Double x:Key="ItemNameWidth">260</System:Double>
    </Page.Resources>

    <TextBlock FontSize="16" Width="{StaticResource ItemNameWidth}">foo</TextBlock>
</page>
尽管在 IntelliSense 中 <System:Double ...> 显示为有效,但我收到以下运行时错误:

发生了“Windows.UI.Xaml.Markup.XamlParseException”类型的异常,在 mscorlib.ni.dll 中未在用户代码中处理

WinRT 信息:无法将 XBF 元数据类型列表反序列化为“Double”,因为在命名空间“System”中找不到该类型。[行:0 位置:0]

如果此方法无效,我可以尝试其他声明 double 的方式。
1个回答

26

原来它在默认的 x: 命名空间中。

<Page
    x:Class="App.UWP.Views.Step6"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:System="using:System"
    mc:Ignorable="d">

    <Page.Resources>
        <x:Double x:Key="ItemNameWidth">260</x:Double>
    </Page.Resources>

    <TextBlock FontSize="16" Width="{StaticResource ItemNameWidth}">foo</TextBlock>
</page>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接