2016-05-24 4 views
1

Я использую элемент управления ListBox. Код:Запрет включения списка ListBox не работает

<ListBox Name="documentList" IsEnabled="{Binding WorkResultsModel.IsEnable,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" ItemsSource="{Binding WorkResultsModel.ImageCollection}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" HorizontalAlignment="Center" ScrollViewer.VerticalScrollBarVisibility="Auto" 
             Width="300" Padding="10" Height="200"> 

Я устанавливаю свойство true/false атрибуту IsEnabled в окне списка при нажатии кнопки. Когда мы устанавливаем false и нажимаем на список элементов, тогда элементы события работают в первый раз, а затем после отображения отключить элемент. То же самое, когда мы устанавливаем true, элементы, отображаемые в режиме отключения и событии, не работают. Как исправить эту проблему? заранее спасибо. Кнопка Код команды:

private void ButtonClickCommand(object obj) 
{ 
     if(status=="Edit") 
      WorkResultsModel.IsEnable = true; 
     else { 
      WorkResultsModel.IsEnable = false; 
     } 
} 

и изменил код недвижимости выглядит следующим образом:

private bool _isEnable = true; 
    public bool IsEnable 
    { 
     get { return _isEnable; } 
     set 
     { 
      SetProperty(ref this._isEnable, value); 
      RaisePropertyChanged("IsEnable"); 
     } 
    } 
+0

Вы Поднятие 'PropertyChangedEvent'after значение IsEnable? – Pikoh

+0

да, я использую модель MVVM – naina

+0

. Затем покажите нам более релевантный код (привязка списка, где вы устанавливаете/отменяете isEnabled ..). Мы не можем помочь без этого – Pikoh

ответ

0

вы можете сделать это из кода позади:

private void Button_Click_(object sender, RoutedEventArgs e) 
{ 
    documentList.IsEnabled=!documentList.IsEnabled; 
} 
+0

Это то же самое, что вы установили из кодировки или свойства attrribute. Я использую MVVM-модель, поэтому прямое управление недоступно. – naina

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