【问题标题】:WPF runtime strategy pattern like UserControl insertionWPF 运行时策略模式,如 UserControl 插入
【发布时间】:2012-07-20 08:04:43
【问题描述】:

我有一个通用的用户控件,适用于一系列文件类型。此用户控件需要保存并显示另一个特定于每个文件的用户控件。所以我喜欢一种基于文件类型的策略模式用户控件选择。因此,如果用户打开文件 A,则子用户控件将属于 ucA 类型,如果他打开文件类型 B,它将属于 ucB 类型

什么是最好的方法。

父用户控件是否应该持有一个 ContentPresenter,我在运行时可以根据文件类型插入正确的子用户控件?或者有什么更好的办法。

或者简单地运行一些代码隐藏,说明或类似的效果。

parentUCPanel.Children.Add(Factory.GetUC(filetype));

忘了补充一点,我希望子用户控件具有共同的基本类型,并带有一些依赖属性以绑定到父用户控件的视图模型。

非常感谢您的帮助。

【问题讨论】:

    标签: wpf user-controls


    【解决方案1】:

    看看DataTemplateSelector 是否有用。

    【讨论】:

    • 快速查看链接似乎就是我要找的。​​span>
    • 看来我的数据模板不是我想要的。我不只是不想以不同的方式显示我的数据。显示的是完全不同的数据。 IE。我无法插入具有自己外观和控件的完全不同的用户控件。
    • 你是对的!在创建了我自己的继承自 ContentControl 的类并选择了一个用户控件之后,我使用 ContentControl 和一些模板和 DataTemplateSelector 重写了它,就像你说的那样。我完全误解了 DataTemplates。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 1970-01-01
    • 2011-06-30
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多