通过MVVM模式的动态UI

Lir*_*ran 2 wpf mvvm

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

有人知道如何在不破坏MVVM的情况下实现这一点吗?

非常感谢.

Aar*_*ver 7

ItemsControl在ViewModel上使用绑定到集合.在ItemsControl定义中,DataTemplate它基本上是Button基于每个过程构建基础的包装器.

  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <Button Content="{Binding ProcessName}"/>
    </DataTemplate>
  </ItemsControl.ItemTemplate>
Run Code Online (Sandbox Code Playgroud)