【发布时间】:2013-07-27 16:13:44
【问题描述】:
我的 WPF 表单正在使用多个用户控件。这些代表独特的形式。我需要提供导航功能。
一旦用户单击 UserControl A 上的 EDIT 按钮,我想绑定 UserControl B 的 DataContext 并在主窗体上打开此用户控件。
这个主窗体包含两个用户控件。我该怎么做?
这就是我的代码的样子
<Window>
<TabControl Background="Transparent">
<TabItem Header="View Registration" Background="Transparent">
<my:BulkPersonRegistration x:Name="BulkPersonRegistrationForm" />
</TabItem>
<TabItem Header="Add/Update Person" Background="Transparent">
<my:PersonManager x:Name="PersonManagerForm" />
</TabItem>
</TabControl>
</Window>
BulkPersonRegistration 用户控件调用数据绑定函数以显示数据网格。绑定数据网格后,编辑按钮会出现在每一行之后。当用户单击编辑按钮时,我希望 PersonManager 表单被编辑行的对象绑定。 问题是,BulkPersonRegistration 表单不知道 PersonManagerForm。所以我需要一种方法来找出 BulkPersonRegistration 的 Parent 表单,即 Owner 表单,然后找到 Personmanager 表单,最后设置它的数据上下文。我认为所有这些都需要在 BulkRegistration 表单上完成。我宁愿在 Window 上执行此操作,而不是在用户控件上执行此操作。
请提出建议。
【问题讨论】:
-
您使用的是视图模型还是代码隐藏?
-
我正在使用后面的代码。由于时间限制,尚未对 View Model 进行太多探索。
-
如果您的主表单只有一个
ContentControl,并且根据您是否正在编辑,只需更改ContentTemplate怎么样?
标签: wpf data-binding