代码之家  ›  专栏  ›  技术社区  ›  Ian

如何实现WPF动态用户界面

wpf
  •  5
  • Ian  · 技术社区  · 16 年前

    我正在开发一个WPF应用程序,试图更好地理解它的功能和作用。我有一种情况,虽然我不知道如何最好地实现,基本上我的用户界面需要根据用户选择的变化。

    从本质上说,我希望建立一组“ConditionRows”,其中用户指定一个“Field”和“Condition”以及一个“Style”,以便在该条件匹配时使用。我想布局和下面的相似。

    alt text http://img63.imageshack.us/img63/1813/39321945.jpg

    我需要做的是更改“控件1”(一个文本框,或者两个文本框和一个标签,或者什么都没有)和“控件2”(绑定组合框,数字向上/向下,颜色选择器)中显示的内容。不过,我不太确定动态更改这些控件并尽可能保持代码/xaml分离的最佳方法。

    1 回复  |  直到 16 年前
        1
  •  3
  •   Daniel Auger    16 年前

    如果正在执行MVVM,则可以使每个控件区域的子ViewModel成为主ViewModel的多态属性(即IControlGroupViewModel,以及每个可能的控件组的具体ViewModel)。然后可以为资源字典中的每个具体类型创建一个数据模板。如果将视图绑定到多态属性,则应在运行时选择正确的datatemplate。