c#动态模板生成

本文关键字:动态 | 更新日期: 2023-09-27 18:17:18

我的问题是:

我读了一个xml配置。在这个配置中,ui描述的一部分是这样的。

<button1 menu="menu1" name="name1" ... /> 
<button2 menu="menu2" name="name2" ... /> 
<button3  ... /> 

Name是可见的按钮名称。菜单是按钮所在的组。

现在我想基于这个描述构建ui。或者说只有菜单部分。我读了一些关于这个和结束在关键字Datatemplate/Controltemplate。但我找不到一个很好的解决方案,所以动态添加我的内容在运行时这个模板。

我的应用程序基于mvvmlight + ribbon lib。如果你需要更多的信息,请问我。

总结:读取xml config ->基于此构建Datatemplate/Control或其他->并将其添加到视图

这里有一张插图。Button2只有图片。照片

c#动态模板生成

我的第一个尝试是使用XML文件作为数据源,并将其作为集合加载到MenuViewModel类中。然后使用items控件和适当的模板构建您的菜单。

我唯一无法确定的部分是当菜单被选中时该怎么办,假设你只需要知道哪个被选中,那么它也会在视图模型中绑定到items控件的'SelectedValue'属性。