【问题标题】:Render control in multiple places在多个地方渲染控件
【发布时间】:2015-07-14 16:03:48
【问题描述】:

有没有办法在 WPF 中的多个位置部分显示相同的控件?此功能在 Microsoft Office Excel 中实现,您可以在其中将当前工作区一分为二。

我知道,控件不能有两个父级,但可能是一些解决方案,例如将控件呈现到第二个父级空间并模拟输入事件。

【问题讨论】:

    标签: wpf


    【解决方案1】:

    我会让UserControls 共享一个视图模型。我猜 Office 产品中的此类控件不会在多个位置呈现相同的实例。

    【讨论】:

    • 我不能对两个控件使用相同的视图模型,因为这会导致开销很大,我只需要在另一个控件上显示部分控件,而无需数据操作
    • 据我所知,这是不可能的。您必须提取要“复制”的视图和视图模型的部分,将它们放在单独的 UserControl 中(可能具有自己的较小视图模型,嵌套在较大的视图模型中),然后在旧视图中重用该 UserControl并在您的其他控件中绑定到相同的数据。
    • 我成功地渲染了部分控制,但还没有找到重新路由所有输入事件的方法,所以你是对的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 2021-11-27
    • 1970-01-01
    相关资源
    最近更新 更多