wpf - 如何实现 WPF 动态 UI

标签 wpf

我正在开发一个 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/

相关文章:

c# - WPF 组合框和数据绑定(bind)到其他类

c# - 保存 RichTextBox 的文本

c# - 另一个程序集中的 MVVM 行为

c# - 使用 NInject 在 WPF 中注入(inject)没有无参数构造函数的 View 模型类

c# - 在一种方法中使用在另一种方法中启动的类

.net - 诊断 "Quota Exceeded"Win32Exception

wpf - 从单独的线程访问 ViewModel 属性

c# - WPF ListBox 绑定(bind)首先起作用,但之后不起作用

c# - 创建和更新 UI 元素 Async Wpf

wpf - 将 DataGrid 列 DataTemplate 绑定(bind)到附加属性