WPF,请问ListBox模板
ListBox模板,参照的MSDN:
<Style TargetType="ListBox">
...
...
</Style>
<Style TargetType="ListBoxItem">
...
...
</Style>
问题:
上面的模板,是所有ListBox都用相同的ListBoxItem的样式吧,如果我想listBox1用一种ListBoxItem样式,
listBox2用另一种ListBoxItem样式,该怎么写呢?
------解决方案--------------------<Style TargetType="ListBox"
x:Key="ListBoxStyle1">
加上key...
------解决方案--------------------你定义的只是样式,如果你想实现你的需求,你需要在你的Listbox中指定你应用那个样式了,这样使用的Listbox就能应用这个样式,所以在定义的样式的时候要用key来区别定义的每个样式
------解决方案--------------------
<Style TargetType="ListBox" x:Key="ListBoxStyle1">
...
...
</Style>
<Style TargetType="ListBoxItem">
//1的样式
</Style>
<Style TargetType="ListBox" x:Key="ListBoxStyle2">
...
...
</Style>
<Style TargetType="ListBoxItem">
//2的样式
</Style>
<ListBox Style="{DynamicResource ListBoxStyle1}"/>
<ListBox Style="{DynamicResource ListBoxStyle2}"/>
我觉得应该是这样。
------解决方案--------------------哦,看错
以为是
<Style TargetType="ListBox" x:Key="ListBoxStyle1">
...
...
<Style TargetType="ListBoxItem">
...
...
</Style>
</Style>
------解决方案--------------------
<Style TargetType="ListBoxItem" x:Key="ListBoxItemStyle1">
//1的样式
</Style>
<Style TargetType="ListBoxItem" x:Key="ListBoxItemStyle2">
//2的样式
</Style>
<ListBox ItemContainerStyle="{DynamicResource ListBoxStyle1}"/>
<ListBox ItemContainerStyle="{DynamicResource ListBoxStyle2}"/>
------解决方案--------------------