Что мне нужно сделать, на мой взгляд, чтобы Prism.Uno работал с x: Bind? - PullRequest
0 голосов
/ 05 мая 2020

Я пришел из WPF / Prism, но мне очень нравится то, что предлагает X: Bind. Как мне заставить x: Bind работать с моей ViewModel при использовании Prism.Uno?

У меня есть призма: ViewModelLocator.AutoWireViewModel = "True", но мне кажется, что мне что-то не хватает в моем понимании того, как это работает при проектировании.

Спасибо, G

1 Ответ

0 голосов
/ 05 мая 2020

Использование x:Bind требует, чтобы путь привязки находился в представлении.

Чтобы использовать DataContext, вам нужно сделать его доступным, набрав его в представлении, например:

public partial class MyControl : INotifyPropertyChanged
{
#if !HAS_UNO 
        // Uno already defines this event (it will be removed 
        // in the future to be aligned properly with WinUI)
        public event PropertyChangedEventHandler PropertyChanged;
#endif

        public MainPage()
        {
            this.InitializeComponent();

            DataContextChanged += 
                (s, e) => PropertyChanged?.Invoke(
                   this, 
                   new PropertyChangedEventArgs(nameof(ViewModel)));
        }

        public MyViewModel ViewModel => DataContext as MyViewModel;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...