2016-08-04 67 views
0

我有一个Listview。当property = true时设置ListviewItem为

XAML:

<ListView Name="lv_records" SelectionMode="Multiple" SelectionChanged="lv_records_SelectionChanged" /> 

我设置的ListView的的ItemsSource用一个简单的类列出。

类别:

public class Container 
{ 
    public string Database { get; set; } 
    public string Value { get; set; } 
    public bool Selected { get; set; } 

    public Container(string db, string val) 
    { 
     Database = db; 
     Value = val; 
     Selected = false;  
    } 
} 

但我想根据布尔值来选择的元素。 这怎么可能? 在此先感谢。

回答

2

绑定的ListViewItem的IsSelected财产在ItemContainerStyle

<ListView ...> 
    <ListView.ItemContainerStyle> 
     <Style TargetType="ListViewItem"> 
      <Setter Property="IsSelected" Value="{Binding Selected}"/> 
     </Style> 
    </ListView.ItemContainerStyle> 
</ListView> 

为了通知有关Selected性质的变化,容器类必须实现INotifyPropertyChanged接口:

public class Container : INotifyPropertyChanged 
{ 
    public event PropertyChangedEventHandler PropertyChanged; 

    private bool selected; 
    public bool Selected 
    { 
     get { return selected; } 
     set 
     { 
      selected = value; 
      PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Selected")); 
     } 
    } 

    ... 
} 
+0

谢谢,这工作:) – Jonas

相关问题