WPF Listbox: существует ли событие HasItemSelected как-то? - PullRequest
2 голосов
/ 22 апреля 2011

Я использую ListBox в WPF, и я хочу включать / отключать кнопку только тогда, когда элемент из ListBox действительно выбран.

Проблема в том, что моя кнопка выполняет действие, которое извлекает имя элемента, и, поскольку при инициализации элемент не выбран (и я хочу сохранить его таким), я получаю сообщение об ошибке, потому что я выполнение логики для нулевого объекта ...

Я действительно оглянулся и не смог найти один = /

Хорошего дня =)

1 Ответ

1 голос
/ 22 апреля 2011

сделать преобразователь и связать кнопки IsEnabled с SelectedIndex Listbox с помощью преобразователя.

public class MyConverter : IValueConverter
{
  public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
  {
    int ndx = (int)value;
    if ( ndx < 0 ) return false;
    return true;
  }

  public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  {
    return null;
  }
}


<Window.Resources>
    <my:MyConverter x:Name="MyConverter"/>
</Window.Resources>

<ListBox x:Name="MyListBox"></ListBox>
<Button IsEnabled="{Binding Path=SelectedIndex, ElementName=MyListBox, Converter={StaticResource MyConverter}}"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...