Wpf 基于MVVM模式的动态用户界面

Wpf 基于MVVM模式的动态用户界面,wpf,mvvm,Wpf,Mvvm,我正在构建基于MVVM的wpf应用程序,我面临一些问题: 例如,我需要基于来自模型的信息构建UI 我的模型包含一个进程列表(从XML文件加载-动态),每个进程包含信息(名称、图标路径等) 对于每个流程,我需要构建一个按钮(显示相应的流程信息),为了做到这一点,我需要检索从viewModel到UI的流程列表(为了执行实际的UI构建),这将强制UI引用流程容器…并破坏MVVM 有人知道如何在不破坏MVVM的情况下实现它吗 非常感谢。使用绑定到ViewModel上集合的项控件。在ItemsContro

我正在构建基于MVVM的wpf应用程序,我面临一些问题: 例如,我需要基于来自模型的信息构建UI 我的模型包含一个进程列表(从XML文件加载-动态),每个进程包含信息(名称、图标路径等) 对于每个流程,我需要构建一个按钮(显示相应的流程信息),为了做到这一点,我需要检索从viewModel到UI的流程列表(为了执行实际的UI构建),这将强制UI引用流程容器…并破坏MVVM

有人知道如何在不破坏MVVM的情况下实现它吗


非常感谢。

使用绑定到ViewModel上集合的
项控件。在
ItemsControl
中定义一个
DataTemplate
,它本质上是基于每个流程构建
按钮的包装

  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <Button Content="{Binding ProcessName}"/>
    </DataTemplate>
  </ItemsControl.ItemTemplate>


如果您需要做的不仅仅是更改按钮中的文本,您可以使用一个

您不必对每个场景都使用MVVM。在某些情况下,事件驱动模型有时更好。查看此论坛帖子,阅读Laurent R.谈论MVVM的地方。他是制造MVVM工具包的人。无论如何,很抱歉,这不是答案,只是给你一个提示。:)