我的XAML中有一个PopUp元素,在里面我有一个带有TextBlock的Grid。
现在的问题是,文本和网格不能以水平和垂直对齐为中心...
XAML :
<Popup x:Name="Popup" Height="30px" VerticalAlignment="Top">
<Grid Height="30px"
Background="Green"
Width="{Binding ActualWidth, ElementName=Popup}">
<TextBlock VerticalAlignment="Center"
HorizontalAlignment="Center"
Foreground="White"
Text="Änderungen wurden übernommen">
</TextBlock>
</Grid>
</Popup>
在Visual Studio中预览(看起来与我想要的完全一样): 实际结果: 绿色PopUp中的TextBox不会居中,如您所见。我不知道为什么,也许我错过了什么,但一切对我来说都很好。
答案 0 :(得分:2)
您可以像这样手动订阅SizeChanged
的{{1}} -
Popup
我通常会创建一个Popup.SizeChanged += (s,e) => PopupGrid.Width = Popup.ActualWidth;
弹出式窗口,它会公开UserControl
属性,以便我可以传入动态文本,另一个MessageText
标记可以切换其可见性。我也将它从命中测试中禁用,并允许它在几秒后解散。
隐藏和显示应该通过封装在控件内的IsOpen
来完成。
最后,这个Storyboard
应该是这样的 -
MessageControl
我已经提供了一个示例项目here供您参考,这就是它的样子 -