是否可以将 XAML 中样式的 TargetType 属性设置为通用类?

public class Selector<T> : Control { }

然后在xaml中
<Style x:TargetType="Selector">
<Setter Property="MyProperty" Value="Green" />
</Style>

这行不通,因为 Selector 缺少类型参数。

最佳答案

您不能绑定(bind)到像 List<T> 这样的开放泛型类型,但是可以通过定义占位符类型绑定(bind)到像 List<Person> 这样的封闭泛型类型。

C# :

class People : List<Person> {}

XAML :
<Style TargetType="{x:Type People}"> ... </Style>

更新 :您需要为样式指定 TargetType x:Key 属性,而不是同时指定两者。

关于c# - 将样式的 TargetType 属性设置为泛型类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/999460/

10-10 09:28