如何在UWP/RT XAML中声明系统数据类型

本文关键字:声明 系统 数据类型 XAML RT UWP | 更新日期: 2023-09-27 18:25:51

我正在尝试访问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>

尽管<System:Double ...>在IntelliSense中显示为有效,但我得到了以下运行时错误:

mscorlib.ni.dll中出现类型为"Windows.UI.Xaml.Markup.XamlParseException"的异常,但未在用户代码中处理

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

如果这个方法不起作用,我愿意使用其他方法来声明double。

如何在UWP/RT XAML中声明系统数据类型

发现它在默认的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>