这是银光。
最初的目标是在带有VerticalAlignment和HorizontalAlignment的弹出窗口中显示一个随机元素。我不想使用VerticalOffset或HorizontalOffset,因为我真正想要做的事情还有很多,包括一些复杂的绑定。
第一次尝试是:
<Popup>
<Button
Height="135"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom" />
</Popup>第二次尝试是:
<Popup
Height="135"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom">
<Button />
</Popup>两者都是失败的:按钮总是在顶部,而不是拉伸(HorizontalAlignment和VerticalAlignment没有工作)。
因此,我的想法是将元素封装在一个简单的FrameworkElement中:
<Popup>
<Border>
<Button
Height="135"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom" />
</Border>
</Popup>而且起作用了。
但在本例中,我不得不使用Border,因为我可以使用Grid和许多其他FrameworkElement (但不是使用画布、视图框或弹出窗口)。我想知道什么是最简单、高效和对处理器友好的透明FrameworkElement,可以用工作的HorizontalAlignment和VerticalAlignment封装另一个元素?是:
发布于 2014-09-11 14:45:15
WPF控件有两种类型:与用户交互的控件(如接受用户的单击按钮,或像文本块一样显示文本)和控制先前控件的放置和布局的容器。
容器控件的设计通常是为了以一种特定的方式布局它们的孩子。例如,画布用X,Y,宽度和高度值来布置孩子。每个用户都有特定的用途,因此您必须使用阅读这些容器控件的文档或教程。并了解它们是如何工作的,以便为任务选择合适的用途。
在您的情况下,您希望按钮能够填充弹出窗口中的所有可用空间(看起来,并不清楚)。我知道默认情况下,Grid会这样做。因此,我要做以下几点:
<Popup><Grid><Button /></Grid></Popup>https://stackoverflow.com/questions/25790099
复制相似问题