我正在开发一个 WPF 应用程序,以尝试更好地了解它的含义以及它可以做什么。我有一种情况,但我不确定如何最好地实现,基本上我的 UI 需要根据用户选择进行更改。
本质上,我希望建立一组“ConditionRows”,用户在其中指定一个“Field”和“Condition”以及一个“Style”以在条件匹配时使用。我想布局类似于下面的布局。
alt text http://img63.imageshack.us/img63/1813/39321945.jpg
我需要做的是更改“控件 1”(一个文本框,或 2 个文本框和一个标签,或什么都没有)和“控件 2”(绑定(bind)组合框、数字上/下、颜色选择器)中显示的内容.我不太确定动态更改这些控件并尽可能保持代码/xaml 分离的最佳方法。
最佳答案
如果你在做 MVVM,你可以让每个控制区域的子 ViewModel 成为主 ViewModel 的多态属性(即 IControlGroupViewModel,以及每个可能的控件分组的具体 ViewModel)。然后,您可以为资源字典中的每个具体类型创建一个数据模板。如果将 View 绑定(bind)到多态属性,则应在运行时选择正确的数据模板。
关于wpf - 如何实现 WPF 动态 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3405407/