Re[2]: [WPF] Check ListBox и MVVM
От: Grog13 Финляндия  
Дата: 09.12.09 10:48
Оценка:
Здравствуйте, Codechanger, Вы писали:

C>Здравствуйте, Grog13, Вы писали:

G>>Теперь как мне в TextBlock вывести все выбранные элементы?
C>IValueConverter?

Сделал так:
<TextBlock Text="{Binding ElementName=MyLB, Path=SelectedItems, Converter={StaticResource MyConverter}}" />


    public class MyConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return "Hello";
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new System.NotImplementedException();
        }
    }


Но это счастье вызывается почему-то только один раз, когда value = null;
При изменении SelectedItems почему-то не вызывается. (Поставил breakpoint на точке return "Hello")
Однако, если в XAML написать так:

<TextBlock Text="{Binding ElementName=MyLB, Path=SelectedItems.Count}" />


То, там ожидаемо получается правильное число выбранных элементов.
Где я ошибся с конвертером?

G>>И как мне во ViewModel узнать выбранные элементы? И как мне из ViewModel очистить выбранные элементы?

C>Завести свойство во ViewModel.

А можно по-конкретнее? Как можно изменять это свойство из XAML?
Если биндиться к SelectedItems то получаю такую ошибку:

'SelectedItems' property is read-only and cannot be set from markup.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.