【发布时间】:2013-11-20 15:14:13
【问题描述】:
我有一个带有集合的列表框
ObservableCollection<BaseObject> _baseObjects;
public ObservableCollection<BattlegroundBaseObject> BaseObject
{
get { return _baseObjects?? (_baseObjects= new ObservableCollection<BaseObject>()); }
}
该集合有两个来自 BaseObject 的不同子代。一个是路径,另一个是图像.. 更多来了
我现在需要两个不同的基于孩子的 ItemContainerStyles
<ListBox.ItemContainerStyle>
<Style BasedOn="ListBoxItem" TargetType="ListBoxItem" x:Name="ListBoxPathLineStyle">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Path Stroke="{Binding ObjectColor}" Data="{Binding PathGeometryData}" />
</ControlTemplate>
</Setter.Value>
</Setter>
<!-- Alternative Template for other type -->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Image Source="howTheHellCares.png"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
目前总是采用较低的二传手,但我需要有所不同.. sb 知道怎么做吗?
【问题讨论】:
标签: wpf styles listboxitem