包含两个Caliburn.Micro视图的对话框视图?我有一个WindowsWPF应用程序,我正在使用Caliburn.Micro。主窗口视图/视图模型由Caliburn.Micro处理。其中一个按钮会弹出一个新的对话窗口,该窗口使用不同的视图模型。在此对话框中,我有一个容器(一个列表框和一些过滤器控件),我想将其变成可重用控件,以便我可以将其包含在其他对话框中。为此,我从对话框的视图中提取了与视图模型相关的代码,并创建了一个新的视图和视图模型。一切看起来都不错。问题是,现在回到对话框中,我有一个空白空间很大的停靠面板,我需要可重复使用的控件。从对话框视图模型OnInitalize()我可以创建一个可重用的控件视图模型,但我不知道如何将其视图放入对话框视图的停靠面板中。要从主窗口视图模型创建对话框,我使用WindowManager()。ShowDialog()显示对话框的视图模型,Caliburn.Micro负责设置视图。有没有办法在对话框的XAML中指定我想为可重用控件嵌入一个视图并让Caliburn创建适当的视图/视图模型?还是我走错了路?如果您的对话框视图模型上有一个属于另一种视图模型类型的属性,并且您将ContentControl添加到与此属性相同的对话框视图中,Caliburn.Micro将自动注入与您的属性视图类型相对应的视图放入ContentControl占位符并自动将该视图模型类型绑定到视图中。你是说像这样的东西吗://DialogViewModelprivateMyReusableControlViewModelmyReuseableControl;publicMyReusableControlViewModelMyReuseableControl{get{returnthis.myReuseableControl;}set{this.myReuseableControl=value;NotifyOfPropertyChanged(...);}}//对话框视图模型构造函数publicDialogViewModel(){this.MyReuseableControl=newMyReusableControlViewModel();}//DialogView...理想情况下,当然,您需要注入对话框视图模型(在本例中为MyReusableControlViewModel)的任何依赖项,并在视图模型中注入对话框对象抽象,而不是具体类型。以上就是C#学习教程:ConversationviewwithtwoCaliburn.Microviews?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
