powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Переброс значений во view-model, инициализированных во view
4 сообщений из 4, страница 1 из 1
Переброс значений во view-model, инициализированных во view
    #39401733
FullKettle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер. Есть такая задача.
Имеется Combobox, значения элементов которого задаются в xaml (view). Как эти значения "перебросить" во View-Model?
Код: c#
1.
2.
3.
4.
5.
6.
       
        <ComboBox ItemsSource="{Binding Items, UpdateSourceTrigger=PropertyChanged, Mode=OneWayToSource}">
            <ComboBoxItem>X</ComboBoxItem>
            <ComboBoxItem>Y</ComboBoxItem>
            <ComboBoxItem>Z</ComboBoxItem>
        </ComboBox> 



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
        
        private List<ComboBoxItem> _items;
        public List<ComboBoxItem> Items
        {
            get { return _items; }
            set
            {
                _items = value;
                if (value != null)
                    Console.WriteLine(value.Count);
            }
        }
        public MainWindow()
        {
            InitializeComponent();
            DataContext = this;
        }
...
Рейтинг: 0 / 0
Переброс значений во view-model, инициализированных во view
    #39401794
FullKettle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такое вообще возможно?
...
Рейтинг: 0 / 0
Переброс значений во view-model, инициализированных во view
    #39401905
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FullKettle,

в Binding можно явно указать направление Mode=OneWayToSource, тогда значение из View всегда будет задавать значение во View, но не в вашем случае. Потому, что свойство ItemsSource и Items (в котором вы задаете свои ComboBoxItem'ы) разные вещи.
Когда вы задаете ItemsSource, то в Items хранится набор сгенерированые ComboBoxItem'ов, они генерируются на основе ItemsSource, обратно это не действует.
В вашем случае надо просто создать статический класс или сервис, который будет возвращать эту коллекцию и получать её во View и во ViewModel.
...
Рейтинг: 0 / 0
Переброс значений во view-model, инициализированных во view
    #39401906
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesтогда значение из View всегда будет задавать значение во View
fix "тогда значение из View всегда будет задавать значение во ViewModel", бес попутал
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Переброс значений во view-model, инициализированных во view
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]