2016-12-04 6 views
0

У меня возникла проблема. В проекте, над которым я работаю, я должен заполнить один столбец ListView с помощью cheboxes, а другой - с помощью comboboxes. Ниже приведена модель данных, которую я использую как ObservableCollection, чтобы привязать ее к списку. Работает очень хорошо!Невозможно изменить свойство объекта после первоначального связывания

public class PointDataMainListView 

{ 
    public string CheckBoxName { get; set; } 
    public ObservableCollection<string> ComboBoxItems{ get; set; } 
    public Visibility visibility { get; set; } 
} 

За исключением случаев, когда я с трудом меняю свойства самой выноски. В частности, свойство видимости.

Ниже приведен шаблон данных я использую для комбинированного окна

<DataTemplate x:Key="ComboBoxCell"> 

     <ComboBox x:Name="ComboBox" 
        ItemsSource="{Binding ComboBoxItems}" 
        Width="100" 
        Visibility="{Binding visibility}"/> 

    </DataTemplate> 

При наполнении ListView в первый раз или добавить новый элемент видимости не может список следует установить никаких проблем. Когда видимость внутри моего ObservableCollection < PointDataMainListView> изменяется для элемента, который уже отображается, ничего не происходит.

Одним из решений, которое я искал, является попытка повторить через элементы списка, чтобы попытаться получить ссылку на фактическое поле со списком, чтобы изменить его свойство. Тем не менее, я считаю, должно быть более элегантное решение для достижения желаемых результатов. Спасибо за любую помощь.

+0

Вы хотите установить видимость ко всем спискам? возможно, сделать сетку и привязать к видимости сетки. поэтому все выпадающие списки отображаются или скрыты. –

+0

Я хочу, чтобы можно было установить видимость каждого из списков в отдельности –

ответ

1

Ваш класс должен реализовать INotifyPropertyChanged, и ваши средства настройки свойств должны вызвать метод PropertyChanged.