如何让 IDE 在设计时识别 MVVM 中的 View-ViewModel 绑定?
How to make IDE recognize View-ViewModel binding in MVVM at design time?
在我的应用程序中,我通过 App.xaml 中的中央 ResourceDictionary 将视图绑定到 ViewModel,如下所示:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="_styles/SomeStyle.xaml" />
...
<ResourceDictionary>
<DataTemplate DataType="{x:Type viewModels:MyViewModel}">
<views:MyView />
</DataTemplate>
...
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
这很好用。但是,IDE(ReSharper 和 Rider 的 Visual Studio)无法识别视图中的绑定,例如重命名属性很危险。
如何让 IDE 识别绑定?
添加到您的 window 或用户控件。要使用 IsDesignTimeCreatable=True,您必须具有无参数构造函数。
d:DataContext="{d:DesignInstance Type=local:YourVm, IsDesignTimeCreatable=True}"
在我的应用程序中,我通过 App.xaml 中的中央 ResourceDictionary 将视图绑定到 ViewModel,如下所示:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="_styles/SomeStyle.xaml" />
...
<ResourceDictionary>
<DataTemplate DataType="{x:Type viewModels:MyViewModel}">
<views:MyView />
</DataTemplate>
...
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
这很好用。但是,IDE(ReSharper 和 Rider 的 Visual Studio)无法识别视图中的绑定,例如重命名属性很危险。
如何让 IDE 识别绑定?
添加到您的 window 或用户控件。要使用 IsDesignTimeCreatable=True,您必须具有无参数构造函数。
d:DataContext="{d:DesignInstance Type=local:YourVm, IsDesignTimeCreatable=True}"