为什么我收到以下错误:"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为未来版本.
类似的基本类型Int16在System命名空间(在程序集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命名空间和命名空间映射.
| 归档时间: |
|
| 查看次数: |
642 次 |
| 最近记录: |