如何实现WPF动态UI

Ian*_*Ian 5 wpf

我正在开发一个WPF应用程序,试图更好地理解它的内容和它可以做什么.我有一种情况虽然我不确定如何最好地实现,基本上我的UI需要根据用户选择进行更改.

基本上我希望建立一组'ConditionRows',其中用户指定'Field'和'Condition'以及在该条件匹配时使用的'Style'.我想这个布局与下面的布局类似.

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

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

Dan*_*ger 3

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