2016-08-04 5 views
0

私はListviewを持っています。property = trueのときにListviewItemを選択して設定します。

XAML:

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

私は単純なクラスでリストにこのリストビューのの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;  
    } 
} 

しかし、私はbool値に応じて要素を選択します。 これはどのように可能ですか? ありがとうございます。 ItemContainerStyle

答えて

2

バインドのListViewItemのIsSelectedプロパティ:

<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

関連する問題