【发布时间】:2022-01-16 01:03:10
【问题描述】:
我正在寻找为 Avalonia 窗口声明设计时 ViewModel 的正确方法。
一些样本建议
d:DataContext="{d:DesignInstance viewModels:LoginViewModel, IsDesignTimeCreatable=True}"
这会抛出
XamlParseException at 5:5: Unable to resolve type DesignInstance from namespace http://schemas.microsoft.com/expression/blend/2008
默认 Avalonia MVVM 模板建议
<Design.DataContext>
<vm:MainWindowViewModel/>
</Design.DataContext>
如果 ViewModel 接受参数,它会抛出
XamlLoadException at 16:10: Unable to find public constructor for type Demo.CloseNonModalDialog:Demo.CloseNonModalDialog.CurrentTimeDialogViewModel()
我想添加一个默认的无参数构造函数是一种选择。
使用 MvvmLight/WPF,我曾经将 ViewLocator 引用为静态资源
DataContext="{Binding Source={StaticResource Locator}, Path=MainWindow}"
这是一个选项,虽然我还没有找到声明和引用资源的正确方法。
这里推荐的方法是什么?如果我想显示设计时数据,我会说只有第 3 个选项可以工作。这不是示例中显示的选项。
【问题讨论】:
标签: c# .net mvvm avaloniaui