如果我声明了正确的 XML 命名空间,我可以使用 Silverlight XAML 中的公共和默认构造函数创建/实例化我自己的任何类ResourceDictionary
。
但是,如果我尝试使用命名空间中基类库的任何(非 UI)类System.*
,我会收到一个错误,即找不到类型。
例如:
<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 中以不同方式声明命名空间以使其工作吗?如果是这样,怎么做?