WPF 控制实际大小

发布于 2024-07-27 01:08:18 字数 751 浏览 3 评论 0原文

我有这段XAML代码:

<Window x:Class="SizingTest.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <Label x:Name="theLabel" Width="Auto">A very large label with a lot of text</Label>
    </Grid>
</Window>

在后面的代码中,我试图获取标签的实际宽度,我认为

theLabel.ActualWidth

可以解决这个问题,但是在尝试了这段代码之后:

public Window1()
{
    InitializeComponent();
    double width = theLabel.ActualWidth;
}

宽度的值为0,我还检查了theLabel。 Width,返回 NaN,theLabel.DesiredSize.Width,也返回 0。我可以用什么来查找标签的真实宽度?

谢谢。

I have this piece of XAML code:

<Window x:Class="SizingTest.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <Label x:Name="theLabel" Width="Auto">A very large label with a lot of text</Label>
    </Grid>
</Window>

In the code behind, I'm trying to get the label's actual width, I thought

theLabel.ActualWidth

would do the trick, but after trying this code:

public Window1()
{
    InitializeComponent();
    double width = theLabel.ActualWidth;
}

The value of width is 0, I also checked with theLabel.Width, which returns NaN, theLabel.DesiredSize.Width, which also return 0. What can I use to find the real width of the label?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

瑕疵 2024-08-03 01:08:18

在布局组件的父级(以及可能的子级)之前,不会设置 ActualWidth

要获取组件的 ActualWidth,您需要等待布局传递完成。 监听 Loaded 事件,作为其直到第一次布局传递之后才调用。

ActualWidth isn't set until the component's parents (and possible children) are laid out.

To get a component's ActualWidth, you'll need to wait for a layout pass to complete. Listen to the Loaded event, as its not called until after the first layout pass.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文