gpt4 book ai didi

c# - 如何在 WPF 中呈现之前获取标签宽度

转载 作者:太空狗 更新时间:2023-10-29 23:59:25 28 4
gpt4 key购买 nike

很难解释这一点。我有一个自定义构建的属性网格。左手列有属性标签。有时根据属性,我想要一个省略号按钮来向用户显示他们可以启动一个对话框。我希望按钮垂直内联以使 UI 看起来整洁。例如,标签的宽度取决于属性名称“onEnterPressed”或“upLink”。

如果我单独添加省略号按钮并使用像这样的边距......

elipsisButton.Margin = new Thickness(135, 0, 0, 0);

左起 135 正是我要放置按钮的位置。

我希望能够做类似的事情

Label newLabel = new System.Windows.Controls.Label();
newLabel.Content = anInfo;
aPanel.Children.Add(newLabel);
elipsisButton.Margin = new Thickness(135 - newLabel.Width, 0, 0, 0);

然而,标签在屏幕上呈现之前不会获得宽度,因此我无法找出要添加到我的省略号按钮的边距大小。有什么想法吗?

最佳答案

您可以调用 Measure() 方法来询问控件需要显示的大小:

var l = new Label() { Content = "Hello" };
l.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

Size s = l.DesiredSize;

然后使用 DesiredSize 属性的值。

关于c# - 如何在 WPF 中呈现之前获取标签宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3204377/

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