背景: 在模块的UI中包含 TreeView 控件,在该树形控件的每一节点前面定义了一个复选框,如图需求: 在两个不同的应用程序中使用该控件,而它在不同应用程序中的外观则并不一致,按照本例,即一个显示复选框,一个不显示。问题: 解 ...
背景:
在模块的UI中包含 TreeView 控件,在该树形控件的每一节点前面定义了一个复选框,如图
需求:
在两个不同的应用程序中使用该控件,而它在不同应用程序中的外观则并不一致,按照本例,即一个显示复选框,一个不显示。
问题:
解决该问题的一个难处在于,Prism框架本身的设计原则——此 View 会被添加到主程序的 Shell 的 Region 中,所以在主程序中不能直接来控制该 View 的属性及其逻辑。
思路:
利用 EventAggregator 使得主程序与模块间进行通信,从而间接地达到我们的目的。
实现:
首先,在模块的 View 所对应的 ViewModel 中添加一个属性 ShowCheckbox,如下:
public bool ShowCheckbox { get { return this.showCheckBox; } set { this.SetProperty(ref this.showCheckBox, value); } }
原标题:在Prism 框架中,实现主程序与模块间 UI 的通信
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。