В Silverlight, как настроить состояние включения кнопок на основе элементов, выбранных в списке? - PullRequest
0 голосов
/ 26 декабря 2011

У меня есть диалоговое окно, которое содержит список и обычные кнопки ОК, отмена.Я бы хотел, чтобы включенное состояние кнопки ОК было включено, только если был выбран элемент в списке.Я хотел бы сделать это с привязками, а не в коде позади.

Возможно, я шел по неправильному маршруту, но я пытался сделать что-то вроде следующего

IsEnabled="{Binding ElementName=ProjectList, Path=??? }" 

Как вы, вероятно, видите, я понятия не имею, что будет происходить в "Путь "

1 Ответ

4 голосов
/ 26 декабря 2011

Если ProjectList - это имя списка, вы можете использовать SelectedItem.

. Вам нужно будет выполнить привязку через конвертер, который проверяет, является ли SelectedItem нулевым и возвращаетв этом случае false.

Таким образом, ваш XAML становится:

IsEnabled="{Binding ElementName=ProjectList, Path=SelectedItem, Converter={StaticResource SelectedItemToBool}}" 

, а селектор выглядит примерно так:

public class SelectedItemToBool : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return value != null;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...