C#wpf如何知道未指定控件(es.listbox)的大小

C#wpf如何知道未指定控件(es.listbox)的大小,c#,wpf,width,C#,Wpf,Width,winwdow中有两个边框,第一个包含一个列表框,其大小通过边距设置。因此我可以更改窗口大小--->边框更改--->列表框更改。我想知道它的宽度是多少,但宽度属性报告为Nan,而实际宽度报告为0 <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefin

winwdow中有两个边框,第一个包含一个列表框,其大小通过边距设置。因此我可以更改窗口大小--->边框更改--->列表框更改。我想知道它的宽度是多少,但宽度属性报告为Nan,而实际宽度报告为0

<Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <Border x:Name="Border1" BorderBrush="Gainsboro" BorderThickness="5" CornerRadius="8,8,3,3" Margin="10,10,168.8,10.4" >
                    <ListBox x:Name="lbButtons" Background="{x:Null}" BorderBrush="{x:Null}" Height="338" Margin="0,0,0.4,0"/>                        
                </Border>
                <Border x:Name="Border2" BorderBrush="Gainsboro" BorderThickness="5" CornerRadius="8,8,3,3" Grid.ColumnSpan="2" Margin="263,10,9.2,10" />
            </Grid>

这对于每个控件都是有效的:如果没有指定它,如何知道它的当前大小?
thanx

组件可能尚未显示在获取其大小的位置。您可以在对象的已加载事件中获得正确的实际宽度

1-你想要它做什么?2-如果
ActualWidth
为零,则您查看的控件错误。可能是组件尚未显示在获取其大小的位置。您可以在对象的加载事件中获得正确的实际宽度。@Jean-ClaudeColette您是对的!这就是我将私有void lbButtons_加载(objectsender,RoutedEventArgs e)的原因,这里的实际宽度是正确的!你可以把它作为一个解决方案,我会投票的。塔克斯!