2

正しい XML 名前空間を宣言すると、Silverlight XAML の public および既定のコンストラクターを使用して独自のクラスを作成/インスタンス化できます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