powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / дефолтное значение для ComboBox
2 сообщений из 2, страница 1 из 1
дефолтное значение для ComboBox
    #39430038
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет, возникла следующая проблема. Есть DataGrid, в нем есть по строкам combobox. Структура данных представлена следующими классами
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
public class row_agregate : ViewModelBase //класс-строка из которых состоит DataGrid

{
	private UpakModel _upak_model;
	public UpakModel upak_model {
		get { return _upak_model; }
		set {
			if ((value != null)) {
				_upak_model = value;
				RaisePropertyChanged("upak_model");
			}
		}
	}

	public row_agregate(UpakModel up)
	{
		_upak_model = up;
	}
}



public class UpakModel: ViewModelBase//элемент для ComboBox
{
	private UInt16 _id_up;
	public UInt16 id_up {
		get { return _id_up; }
		set { _id_up = value; }
	}
	
	private string _short_descr;
	public string short_descr {
		get { return _short_descr; }
		set { _short_descr = value;
        RaisePropertychanged("short_descr"); // это можно убрать- все равно не работает}
	}

}


private List<UpakModel> _list_of_up;// коллекция для ComboBox
public List<UpakModel> list_of_up {
	get { return _list_of_up; }
	set { _list_of_up = value; }
}



Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 <DataGridTemplateColumn Header="Упаковка" >               
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <ComboBox ItemsSource="{Binding DataContext.list_of_up,
                                 RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"                    
                                 SelectedItem="{Binding upak_model,UpdateSourceTrigger=PropertyChanged}">

                                <ComboBox.ItemTemplate>
                                    <DataTemplate>
                                        <TextBlock  Text="{Binding short_descr,UpdateSourceTrigger=PropertyChanged}"/>
 <!-- Можно поменять на   <TextBlock  Text="{Binding short_descr}"/>  все равно не работает-->
                                    </DataTemplate>
                                </ComboBox.ItemTemplate>

                            </ComboBox>
                        </DataTemplate>

                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>



При инициализации row_agregate я создаю для нее UpakModel. Проблема в том, что ComboBox не отображает визуально в
Код: xml
1.
  <TextBlock  Text="{Binding short_descr,UpdateSourceTrigger=PropertyChanged}"/>

свойство модели upak_model, созданной при инициализации- пустой комбобокс, хотя если провалиться в отладчик, то в свойстве SelectedItem значение модели присвоено корректно. Нашел костыльное решение через selectedindex- все отрабатывает нормально. Вопрос - почему через SelectedItem не получается корректно загрузить дефолтное значение?
...
Рейтинг: 0 / 0
дефолтное значение для ComboBox
    #39431881
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub,
тему можно закрыть- нужно было расписать DataGridTemplateColumn.CellTemplate и DataGridTemplateColumn.CellEditingTemplate.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / дефолтное значение для ComboBox
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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