Комментарии 3
Не так давно как раз думал над темой MVVM в UI Toolkit. Очень круто! С удовольствием приму участие в проекте, как найду время.
Библиотека очень нужная, но поход к байндингу uxml-first не нравится :(
Я бы предпочёл делать связку через код:
var counter = new ReactiveProperty<int>();
counter.SubscribeTo(root.Q<Text>("Count"));
Так что же вам не мешает это сделать?
public class MyFirstDocumentView : DocumentView<MyFirstViewModel>
{
protected override void OnInit()
{
base.OnInit();
RootVisualElement
.Q<BindableTextField>("FirstNameTextField")
.BindingValuePath = nameof(BindingContext.FirstName);
RootVisualElement
.Q<BindableTextField>("LastNameTextField")
.BindingValuePath = nameof(BindingContext.LastName);
RootVisualElement
.Q<BindableLabel>("FullNameLabel")
.BindingTextPath = nameof(BindingContext.FullName);
}
}
Минус очевиден - лишний код, в котором могут быть допущены ошибки. И вам все равно в UXML файле необходимо будет задать имена компонентов. Так проще там сразу задать свойство для связывания, чем городить такой огород.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Unity UI Toolkit: MVVM ннада?