DataGridTemplateColumn с ComboBox, не заполняющимся начальным значением из источника DataGrid, когда источником ComboBoxC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 DataGridTemplateColumn с ComboBox, не заполняющимся начальным значением из источника DataGrid, когда источником ComboBox

Сообщение Anonymous »

У меня есть проект Avalonia MVVM, использующий CommunityToolkit. Ниже приведена парная версия того, как выглядит мой код. Столбец ComboBox с перечислением работает должным образом: когда DataGrid загружает ComboBox, он заполняется правильным параметром, а когда я меняю его, источник меняется. Однако столбец ComboBox с источником объекта работает неправильно. Когда DataGrid загружает ComboBox, он не заполняется автоматически правильным параметром (хотя раскрывающийся список заполнен). Когда я выбираю другой вариант в поле со списком, оно остается заполненным, и исходный код также обновляется.

Код: Выделить всё

public class MyObject
{
public string Name { get; set; }

public int ComboOptionId { get; set; }
public ComboEnum ComboOption
{
get => (ComboEnum)ComboOptionId;

set => ComboOptionId = (int)value;
}

public ComboObject ComboObject { get; set; }
}

Код: Выделить всё

public class ComboObject
{
public string Name { get; set; }

public int Value { get; set; }
}

Код: Выделить всё

public enum ComboEnum
{
Option1 = -1,
Option2 = 0,
Option3 = 1
}

Код: Выделить всё

public class ViewModel
{
public ObservableCollection ComboEnumOptions { get; }
public ObservableCollection ComboObjectOptions { get; }

public ObersvableCollection ObjectSource { get; }

// Rest of class has methods to fill these and other operations etc...
}
Мне интересно, не является ли это проблемой того, что ComboObject не совпадает с ссылкой на ComboObject в ObservableCollection, но я не знаете, как решить эту проблему, если это так.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -from-data
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»