0

我来自 WPF / Prism 背景,但我真的很喜欢 X:Bind 提供的功能。使用 Prism.Uno 时,如何让 x:Bind 与我的 ViewModel 一起工作?

我有 prism:ViewModelLocator.AutoWireViewModel="True" 但我似乎在理解设计时它的工作原理时遗漏了一些东西。

谢谢G

4

1 回答 1

0

的使用x:Bind要求绑定路径植根于View。

要使用 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;

}
于 2020-05-05T13:29:18.653 回答