我想要更具体的是一个元素,可用于对一组其他元素进行分组,而不影响其布局。除了通过在自己的父标签中分组相关元素给出更好的XAML以外,它应该做的唯一的事情是传播环境属性,如DataContext。它应该是一个纯粹的逻辑元素,没有任何视觉。 WPF / XAML中有什么意图像这样使用吗?
解决方法
没有直接相当于HTML的< div>在WPF / XAML中,听起来最接近WPF的
Panel
类:
Provides a base class for all Panel
elements. Use Panel elements to
position and arrange child objects in
Windows Presentation Foundation (WPF)
applications.
但是,Panel类是一个不能直接实例化的抽象类,只能通过利用WPF框架中的非抽象派生之一来使用。这些包括:
Canvas,DockPanel,Grid,TabPanel,
ToolBarOverflowPanel,UniformGrid,
StackPanel,VirtualizingPanel,
WrapPanel
从你想要达到的目标来看,最接近你的需求可能是Canvas
或Grid
课程。
如果这两个类都不合适,那么您始终可以自由地实现从Panel类派生出来的类。
但是请记住,所有这些类(包括基础面板类)在本质上都是UI特有的(即它们旨在作为可视元素而不是纯逻辑),尽管它们可以被配置为具有少量或没有可见的视觉元素给他们。这完全是在WPF中的设计,因为Wikipedia article on XAML正确地指出:
In WPF,XAML is used as a user interface markup language to define UI elements,data binding,eventing,and other features.