5

リソースディクショナリで特定のテンプレートを取得しようとしています。これは私のリソース辞書です

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:view="clr-namespace:Test.Layout.View"
xmlns:toolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit"  
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><DataTemplate x:Key="LeftRightLayout">
    <toolkit:DockPanel>
        <view:SharedContainerView toolkit:DockPanel.Dock="Left"/>
        <view:SingleContainerView toolkit:DockPanel.Dock="Right"/>
    </toolkit:DockPanel>
</DataTemplate>

ただし、XamlReader.Loadに到達すると

private static ResourceDictionary GetResource(string resourceName)
    {
        ResourceDictionary resource = null;

        XDocument xDoc = XDocument.Load(resourceName);
        resource = (ResourceDictionary)XamlReader.Load(xDoc.ToString(SaveOptions.None));

        return resource;
    }

「clr-namespace:Test.Layout.View」が不明な名前空間であるため、タイプ「SharedContainerView」が見つかりませんでした。[行:4位置:56]

4

2 に答える 2

3

xmlns:viewにアセンブリ修飾子を追加してみましたか?

于 2010-05-03T13:36:28.657 に答える
3

名前空間にアセンブリ修飾子を追加する必要があります。たとえば、アセンブリ名が SilverlightApplication1 の場合、追加する必要があります

;assembly=SilverlightApplication1

次のように名前空間の最後に:

xmlns:view="clr-namespace:Test.Layout.View;assembly=SilverlightApplication1"

于 2011-09-12T07:52:26.067 に答える