繁体   English   中英

如何向XAML网格添加额外的控件?

[英]How can I add an extra control to a XAML Grid?

我有一个绑定到ObservableCollection的网格。 我想在网格中有一个额外的项目,使其显示为另一个图块,但实际上是一个按钮。 微软的财务应用程序完美展示了我想要的效果(下面的屏幕截图)。 目标是拥有一个最终的图块,该图块本身不是集合​​的成员,但像其他任何项一样位于网格中。

类似问题的最高答案是CompositeCollection,但Composite8似乎不适用于Win8应用程序。

Microsoft Finance应用程序的屏幕截图,显示了一个额外的网格项

您始终可以在要绑定的ObservableCollection的末尾添加和添加额外的项。

  • 您可以在视图模型中处理此异常:如果在应用程序中支持该异常,则在加载期间添加该异常,正确处理添加和删除其余项。 (这就是我们在一个项目中采用的方法。)
  • 或者,您可以从ObservableCollection派生您自己的类来处理所有这些ObservableCollection用它。

要使额外项目的显示方式与其他项目不同,可以使用DataTemplateSelector并根据类型名称或其他将额外项目与其他项目区分开的属性选择正确的模板。

这是一个示例项目,显示了标准项目模板(GridView,带有用于捕捉视图的ListView),该模板向ItemsSource添加了“ +”内容项目,该内容用于应用程序中的“添加新项目”操作。

GridView / ListView中的“添加新项”项

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM