ListBox模板,参照的MSDN:<Style TargetType="ListBox">
...
...
</Style><Style TargetType="ListBoxItem">
...
...
</Style>问题:
上面的模板,是所有ListBox都用相同的ListBoxItem的样式吧,如果我想listBox1用一种ListBoxItem样式,
listBox2用另一种ListBoxItem样式,该怎么写呢?

解决方案 »

  1.   

    <Style TargetType="ListBox" x:Key="ListBoxStyle1">加上key...
      

  2.   

    你定义的只是样式,如果你想实现你的需求,你需要在你的Listbox中指定你应用那个样式了,这样使用的Listbox就能应用这个样式,所以在定义的样式的时候要用key来区别定义的每个样式
      

  3.   

    这样写如何与ListBoxItem的样式关联呢?ListBoxItem样式并没有包含在ListBox的样式中
      

  4.   


    <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}"/>
    我觉得应该是这样。
      

  5.   

    哦,看错以为是
    <Style TargetType="ListBox" x:Key="ListBoxStyle1">
    ...
    ...
    <Style TargetType="ListBoxItem">
    ...
    ...
    </Style>
    </Style>
     
      

  6.   


    <Style TargetType="ListBoxItem" x:Key="ListBoxItemStyle1">
    //1的样式
    </Style>
     
    <Style TargetType="ListBoxItem" x:Key="ListBoxItemStyle2">
    //2的样式
    </Style>
     
    <ListBox ItemContainerStyle="{DynamicResource ListBoxStyle1}"/>
    <ListBox ItemContainerStyle="{DynamicResource ListBoxStyle2}"/>
      

  7.   


    <ListBox ItemContainerStyle="{StaticResource Key}" .../>或者<ListBox ...>
        <ListBox.ItemContainerStyle>
             <Style TargetType="{x:Type ListBoxItem}">
               ....
             </Style>
        </ListBox.ItemContainerStyle>
    </ListBox>