gpt4 book ai didi

c# - XAML 文本 block 无法居中

转载 作者:行者123 更新时间:2023-11-30 16:43:13 24 4
gpt4 key购买 nike

我的 XAML 中有一个 PopUp 元素,其中有一个带有 TextBlock 的网格。

现在的问题是,文本和网格无法通过水平和垂直对齐方式居中...

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 中预览(看起来和我想做的一模一样): enter image description here实际结果: enter image description here如您所见,绿色 PopUp 内的 TextBox 未居中。而且我不知道为什么,也许我遗漏了什么,但对我来说一切看起来都很好。

最佳答案

您可以像这样手动订阅 PopupSizeChanged -

Popup.SizeChanged += (s,e) => PopupGrid.Width = Popup.ActualWidth;

更新

我通常会创建一个 UserControl 弹出窗口,它公开一个 MessageText 属性,这样我就可以传入动态文本和另一个 IsOpen 标志来切换它的知名度。我还禁止它进行 HitTest ,并允许它在几秒钟后自行关闭。

隐藏和显示应该通过封装在控件内的 Storyboard 来完成。

最后,这个MessageControl应该是这样的-

<local:MessageControl IsOpened="{x:Bind MyToggle.IsOn, Mode=OneWay}" Message="Die Änderung wurde übernommen!" />

我已经包含了一个示例项目 here供您引用,这就是它的样子 -

enter image description here

关于c# - XAML 文本 block 无法居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45410440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com