如何:使用Prism的WPF设计器绑定预览

时间:2018-12-20 10:49:01

标签: wpf visual-studio prism designer

我如何说服Visual Studio(2017)中的WPF设计器在设计时预览Prism绑定结果?绑定可以在运行时运行,而无需对ViewModelLocator进行任何特殊配置。

具有此MainWindow:

">autovc"

这个ViewModel:

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

从以下位置复制的示例:https://github.com/PrismLibrary/Prism-Samples-Wpf/tree/master/08-ViewModelLocator

1 个答案:

答案 0 :(得分:0)

看来,这个问题与Prim无关(尽管我希望可以通过自动解决方案为棱镜解决)。

只需这样设置设计时间DataContext。这就要求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>