Обработка классов, наследующих один и тот же базовый класс в структуре mvvmC#

Место общения программистов C#
Anonymous
Обработка классов, наследующих один и тот же базовый класс в структуре mvvm

Сообщение Anonymous »

Я настроил структуру MVVM в приложении .NET MAUI.
Мои модели структурированы следующим образом:

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

public partial class Animal
{
public string Name { get; set; }
}

public class Bird : Animal
{
public string Color { get; set; }
}

public class Fish : Animal
{
public int FinCount { get; set; }
}
Теперь у меня есть одно представление, которое просматривает модель представления, содержащую List
, и показывает ее пользователю. Теперь, когда пользователь нажимает на элемент в списке,
приложение вызывает команду, которая меняет представление на «DetailView» и
передает выбранный элемент в подробное представление.
Модель подробного представления имеет [ObservableProperty] Animal DetailAnimal.
Можно ли отличить Птицу от Рыбы класс в XAML?
В зависимости от того, какое это животное, я хочу, чтобы в представлении отображались разные элементы управления.
В настоящее время это реализуется путем установки наблюдаемого свойства при применении атрибута запроса из представления списка. . в зависимости от этого я делаю видимыми разные элементы.
Я не хочу проверять класс и перемещать его конкретные свойства в отдельные наблюдаемые свойства, чтобы затем отображать их в подробном представлении.Но есть ли способ в XAML подробного представления обращаться к свойствам различных типов объектов, которые могут быть в этом списке, или лучше создать отдельное представление и модель представления для каждого класса, который наследует Animal и вызывать правильную модель представления, когда я щелкаю элемент в списке?
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/784 ... -structure

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