在<ControlTemplate>
Control
继承自ItemsControl
的{{1}}中,我定义了以下内容:
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style>
<Setter Property="FrameworkElement.MinHeight" Value="16" />
<Setter Property="FrameworkElement.Margin" Value="7,0,0,0" />
<Setter Property="Button.MinWidth" Value="75" />
<Setter Property="Button.MaxWidth" Value="120" />
<Setter Property="Button.Height" Value="23" />
</Style>
</Setter.Value>
</Setter>
我一直在想这是不是一个好习惯。请注意,有问题的控件应该只接受来自FrameworkElement
的对象。另请注意,我希望避免编写ItemContainerStyleSelector
并希望在XAML中执行此操作。
答案 0 :(得分:1)
我发现在Style标签本身上设置TargetType比使用实际类型限定每个属性更好。您的通用列表是否添加了多种类型的元素?如果是这样,你需要考虑所有这些setter可能无法与不同类型的元素很好地融合。