2

我正在尝试获取将用于特定类型的 DataTemplate。

我的印象是,当您只指定 DataType 时,它​​会隐式使用该值作为该资源的键,以便系统可以查找它。

我试图用这段代码来测试......

主窗口.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,因为DataTemplates您可以DataTemplateKey从该类型构造 a 。

(与DataTypeXAML 中的一样,您可以通过标记名称为 XML 模板传递一个对象。您必须为 CLR 类传递一个类型。)

于 2013-09-01T15:16:18.203 回答