如何让 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}"