我正在尝试创建自定义ItemsControl
,它显示按钮列表(为了练习),非常简单,如下所示:
<Style TargetType="{x:Type local:MyControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:MyControl}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ItemsPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<Button Content="{Binding }" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
我希望将其设置为动态,因为我可以将对象列表绑定到ItemsSource
,并将这些对象的指定属性显示为要在按钮中显示的文本。与DisplayMemberPath
在ComboBox
中的工作方式类似(指定要显示的字符串属性时),但我已经读过您不能同时使用ItemTemplate
和DisplayMemberPath
?那么我怎么能在我的情况下实现类似的属性。