Windows演示基础项目wpf不支持int16

Anj*_*han -2 c# wpf xaml

为什么我收到以下错误:"Windows演示基础项目wpf不支持Int16."

我正在阅读以下MSDN文本: MSDN TEXT重新分级基元映射

下面是我的简单代码:

<Window x:Class="Test.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">

    <Window.Resources>
        <x:Int16 x:Key="cnst">12</x:Int16>        
    </Window.Resources>

    <Grid>

    </Grid>

</Window>
Run Code Online (Sandbox Code Playgroud)

为什么这段代码不起作用?需要做些什么才能让它发挥作用.我的猜测:2006需要替换2009为未来版本.

Cle*_*ens 6

类似的基本类型Int16System命名空间(在程序集mscorlib.dll中)中定义,它未映射到xXAML命名空间.

虽然XAML 2009将这些类型映射到x命名空间,但您无法在MainWindow的XAML中直接使用它们,因为(根据XAML 2009语言功能MSDN页面中的WPF支持段落)

在WPF中,您可以使用XAML 2009功能,但仅适用于未进行标记编译的XAML.标记编译的WPF XAML和BAML形式的XAML目前不支持XAML 2009关键字和功能.

因此,您可能只添加另一个映射SystemCLR命名空间的XAML命名空间,如下所示:

<Window x:Class="Test.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        ...>

    <Window.Resources>
        <sys:Int16 x:Key="cnst">12</sys:Int16>
    </Window.Resources>
    ...
</Window>
Run Code Online (Sandbox Code Playgroud)

有关详细信息,另请参阅MSDN上的WPF XAML文章的XAML命名空间和命名空间映射.