2

特定の型に使用される DataTemplate を取得しようとしています。

DataType のみを指定すると、その値がそのリソースのキーとして暗黙的に使用され、システムが検索できるようになるという印象を受けました。

このコードでそれをテストしようとしました...

MainWindow.wpf:

xmlns:system="clr-namespace:System;assembly=mscorlib"
<Window.Resources>
    <DataTemplate DataType="{x:Type system:String}">
        <Border x:Name="Bd"
            BorderBrush="Red" BorderThickness="1" CornerRadius="6"
            Padding="6,4">
            <TextBlock Text="{Binding}" />
        </Border>
    </DataTemplate>
</Window.Resources>

...次に、次のことを試みましたが、失敗しました...

var stringType = typeof(string);
var stringDataTemplate = this.FindResource(stringType);

では、型だけで定義されたデータ型をプログラムで取得するにはどうすればよいでしょうか?

4

1 に答える 1

3

タイプからを構築できるためStyles、タイプは のキーとして使用されます。DataTemplatesDataTemplateKey

( DataTypeXAML の場合と同様に、XML テンプレートのオブジェクトをタグ名で渡すことができます。CLR クラスの型を渡す必要があります。)

于 2013-09-01T15:16:18.203 に答える