我努力寻找最佳实施方案。
我使用Prism并且我有一个View(ParentView),其中有一个小区域。根据ddl中的项目,另一个较小的视图(ChildView)将被注入ParentView的区域。
ChildView将只有一些我想从ParentView访问的属性。
所以我意识到我可以使用Publish / Subscribe方法在视图模型之间移动数据,但问题是我没有什么可以挂起发布。视图由TextBoxes组成,没有事件触发器。根据ddl的选择,ChildView可能会有很大的不同。我喜欢每个ChildView的清晰分离,因为它在ParentView中注入了自己的视图。
实现这一目标的最佳方法是什么?
答案 0 :(得分:0)
一种解决方案是在视图模型中实现INavigationAware接口。之后,您可以使用onNavigatedFrom(),onNavigatedTo()和onNavigatingTo()方法来注册您的活动。
修改强>
如果您希望在更改子项中的字段时启动事件,则可以执行以下操作:
private string _yourField;
public string YourField
{
get { return _yourField; }
set { SetProperty(ref _yourField, value);
//Here you can launch the event
}
}
在这种情况下,当YourField更改时,事件已启动。
答案 1 :(得分:0)
我尝试了一些实现,但有效的是创建ChildView(childviewmodel)的单例实例,然后通过实例获取对属性的访问权限。它可能不漂亮,但它的工作原理。
Preference
实际上 - 有许多儿童属性。我只列出了一个用于演示。然后我在ParentView中调用它
PreferenceFragment
希望能帮助别人。