【发布时间】:2011-03-22 14:18:07
【问题描述】:
我在 Microsoft expression blend 4 中创建了一个网格,该网格有按钮,我想创建一个与该网格相同的新网格,但使用 c# 并将其添加到新选项卡控件如何?
【问题讨论】:
-
您是指网格还是数据网格?样式或控件模板对您有帮助吗?
-
我的意思是网格,我希望它在颜色和文本上与原始网格相同,并且每件事都像我复制它一样
我在 Microsoft expression blend 4 中创建了一个网格,该网格有按钮,我想创建一个与该网格相同的新网格,但使用 c# 并将其添加到新选项卡控件如何?
【问题讨论】:
您应该实现 DataTemplate 来绘制网格,或者将其转换为 UserControl。
无论哪种方式,执行此操作后,您都可以创建一个 TabControl 并将模板化数据添加到其 DataContext 或将用户控件添加到每个 Tab。
创建用户控件: 如果您使用的是 Blend,只需右键单击要复制的 Grid 对象并选择“Make into UserControl...” 然后您可以将创建的 UserControl 添加到项目中的任何位置,就像使用通用工具箱项一样。
创建模板我建议您阅读this,因为您不仅需要知道如何创建模板,还需要了解使用模板的概念,我真的根据您的情况推荐。
问候
【讨论】:
您可以将两个网格要绑定到的集合放在主 ViewModel 上。然后,每个选项卡上的网格可能不同,但查看的是相同的数据。可以看到两个网格绑定到同一个集合的示例here。
如果您希望两个网格相同,那么我同意@gjsduarte 并创建一个放置在两个选项卡上的 UserControl。
注意:我分享的链接是针对 Silverlight 的,但概念是一样的。
【讨论】: