2016-08-04 4 views
0

У меня есть Listview.Установить ListviewItem как выбрано, когда свойство = true

XAML:

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

Я поставил ItemsSource этого Listview к списку с помощью простого класса.

Класс:

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. Как это возможно? Спасибо заранее.

ответ

2

Bind IsSelected имущество ListViewItem в качестве 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

Смежные вопросы