如何:WPF设计器与Prism绑定预览

如何:WPF设计器与Prism绑定预览,wpf,visual-studio,prism,designer,Wpf,Visual Studio,Prism,Designer,如何说服Visual Studio(2017)中的WPF设计师在设计时预览Prism绑定结果?这些绑定在运行时工作,没有任何ViewModelLocator的特殊配置 使用此主窗口: <Window x:Class="ViewModelLocator.Views.MainWindow" ... prism:ViewModelLocator.AutoWireViewModel="True" Title="{Binding Title}">

如何说服Visual Studio(2017)中的WPF设计师在设计时预览Prism绑定结果?这些绑定在运行时工作,没有任何ViewModelLocator的特殊配置

使用此主窗口:

<Window x:Class="ViewModelLocator.Views.MainWindow"
    ...
        prism:ViewModelLocator.AutoWireViewModel="True"
        Title="{Binding Title}">
    <Grid>
        <TextBlock Text="{Binding Title}" />
    </Grid>
</Window>

示例复制自:

似乎问题与Prim无关(尽管我希望prism能够提供自动解决方案)

只需像这样设置设计时数据上下文。这需要MainWindowViewModel实现一个无参数的构造函数来构建设计时数据

<Window x:Class="ViewModelLocator.Views.MainWindow"
        ...        
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:vm="clr-namespace:ViewModelLocator.ViewModels"
        mc:Ignorable="d"
        d:DataContext="{d:DesignInstance vm:MainWindowViewModel, IsDesignTimeCreatable=True}"

        prism:ViewModelLocator.AutoWireViewModel="True"
        Title="{Binding Title}">
    <Grid>
        <TextBlock Text="{Binding Title}" />
    </Grid>
</Window>

您可以投票支持与此相关的resharper错误:
<Window x:Class="ViewModelLocator.Views.MainWindow"
        ...        
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:vm="clr-namespace:ViewModelLocator.ViewModels"
        mc:Ignorable="d"
        d:DataContext="{d:DesignInstance vm:MainWindowViewModel, IsDesignTimeCreatable=True}"

        prism:ViewModelLocator.AutoWireViewModel="True"
        Title="{Binding Title}">
    <Grid>
        <TextBlock Text="{Binding Title}" />
    </Grid>
</Window>