这是银光。
最初的目标是在弹出窗口中显示一个带有一些 VerticalAlignment 和 HorizontalAlignment 的随机元素。我不想使用 VerticalOffset 或 HorizontalOffset,因为我真正想做的还有更多,包括一些复杂的绑定。
第一次尝试是:
<Popup>
<Button
Height="135"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom" />
</Popup>
第二次尝试是:
<Popup
Height="135"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom">
<Button />
</Popup>
两者都是失败的:Button 总是在 Top 而不是 Stretch(HorizontalAlignment 和 VerticalAlignment 不起作用)。
所以我有了将元素封装在一个简单的 FrameworkElement 中的想法:
<Popup>
<Border>
<Button
Height="135"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom" />
</Border>
</Popup>
它正在工作。
但是我必须Border
在这个例子中使用,当我可以用Grid
和许多其他FrameworkElement
的(但不是用 Canvas、Viewbox 或 Popup)来完成它时。我想知道什么是最简单、最高效和处理器友好的透明 FrameworkElement 来封装另一个具有工作 HorizontalAlignment 和 VerticalAlignment 的元素?是吗:
- 边界?(如上面的例子)
- 用户控制?
- 内容控制?
- 内容容器?
- 一些自定义和基本的 MyFrameworkElement?(可能需要大多数基本实施的帮助)
- 网格之类的其他东西?