如果我声明了正确的XML命名空间,我可以使用Silverlight XAML ResourceDictionary
中的公共和默认构造函数创建/实例化我自己的任何类。
但是,如果我尝试使用System.*
命名空间中的基类库的任何(非UI)类,我会收到一个无法找到该类型的错误。
例如:
<UserControl x:Class="BclObjectsInXamlDemo.MainPage"
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:crypt="clr-namespace:System.Security.Cryptography;assembly=System.Core"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White">
<Grid.Resources>
<crypt:AesManaged x:Key="AesManaged" />
</Grid.Resources>
</Grid>
</UserControl>
给我错误The type 'AesManaged' was not found because 'clr-namespace:System.Security.Cryptography;assembly=System.Core' is an unknown namespace. [Line: 12 Position: 37]
。
我很困惑,因为我觉得这很容易。我正在使用Visual Studio 2012和Silverlight 5. System.Core
程序集在我的项目中正确链接(默认情况下是这样)。我可以以不同方式声明XAML中的命名空间以使其工作吗?如果是这样,怎么样?