2

如果我声明了正确的 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 中以不同方式声明命名空间以使其工作吗?如果是这样,怎么做?

4

0 回答 0