Я новичок в мире Xamarin и его правилах привязки данных. У меня есть ViewModel с наблюдаемым свойством CurrentOrder
, и 3 свойства, значения которых зависят от него. Все 4 свойства используются в View с привязками, так что каждое изменение в CurrentOrder
должно распространяться на изменения в 3 других свойствах, и это влияет на то, как представление отображает свои элементы управления и данные. Я запутался в том, как я должен распространять сигнал изменения CurrentOrder
на 3 других зависимых свойства. Я придумал код, который на самом деле работает, но для меня он выглядит немного неловко и устанавливает зависимость внутри независимого свойства CurrentOrder
, хотя я бы предпочел, чтобы это было наоборот: зависимые свойства должны лучше знать, от какого свойства они зависят.
Обратите внимание, что методы SetProperty и OnPropertyChanged находятся в модели базового представления и генерируются стандартным шаблоном проекта VS Xamarin.Forms.
private int _currentOrder = 1;
public int CurrentOrder
{
get => _currentOrder;
set => SetProperty(ref _currentOrder, value, onChanged: () =>
{
OnPropertyChanged(nameof(CurrentItem));
OnPropertyChanged(nameof(IsTheLastItem));
OnPropertyChanged(nameof(IsTheFirstItem));
});
}
public string CurrentItem => Items[CurrentOrder - 1];
public bool IsTheLastItem => CurrentOrder == Items.Count;
public bool IsTheFirstItem => CurrentOrder == 1;
Любые рекомендации по передовым методам здесь очень приветствуются