2017-03-03 64 views

回答

1

修訂

您可以創建一個ItemContainerStyleSelector,在那裏你可以根據在列表中的當前項目應用自定義樣式。當u激活的SelectionMode =多,整個ListViewItem的向右移動,以顯示覆選框

<ListView ItemsSource="{Binding SomeList}"> 
    <ListView.ItemContainerStyleSelector> 
     <local:CustomItemContainerStyleSelector> 
      <local:CustomItemContainerStyleSelector.MyStyle1> 
       <Style TargetType="ListViewItem"> 
        <Setter Property="BorderThickness" Value="5,0,0,0"/> 
        <Setter Property="BorderBrush" Value="Red"/> 
       </Style> 
      </local:CustomItemContainerStyleSelector.MyStyle1> 
      <local:CustomItemContainerStyleSelector.MyStyle2> 
       <Style TargetType="ListViewItem"> 
        <Setter Property="BorderThickness" Value="5,0,0,0"/> 
        <Setter Property="BorderBrush" Value="Yellow"/> 
       </Style> 
      </local:CustomItemContainerStyleSelector.MyStyle2> 
     </local:CustomItemContainerStyleSelector> 
    </ListView.ItemContainerStyleSelector> 
</ListView> 
+0

好,:

public class CustomItemContainerStyleSelector : StyleSelector { public Style MyStyle1 { get; set; } public Style MyStyle2 { get; set; } protected override Style SelectStyleCore(object item, DependencyObject container) { var obj = (MyObject)item; if (/* Some kind of condition based on the bound object */) { return MyStyle1; } else { return MyStyle2; } } } 

您可以使用此樣式選擇這樣的。我需要將這個邊框貼在左邊,所以複選框會出現在這個邊框的右邊,就像這樣http://joxi.ru/v294aELS3RaaMm – Exodus009

+0

你是對的我已經更新了我的答案。 –