C#wpf如何在未指定时知道控件(es.listbox)的大小
C# wpf how to know a control (es. listbox) size when not specified
我在 winwdow 中有两个边框,第一个包含一个列表框,其大小通过边距设置。所以我可以更改 window 大小---> 边框更改---> 列表框更改。我想知道它的宽度是多少,但是宽度 属性 报告 Nan 而 actualWidth 报告 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>
这对每个控件都有效:未指定时如何知道其当前大小?
谢谢
有可能组件在您获取其尺寸时尚未显示。您可以在对象的加载事件中获取正确的 actualWidth。
我在 winwdow 中有两个边框,第一个包含一个列表框,其大小通过边距设置。所以我可以更改 window 大小---> 边框更改---> 列表框更改。我想知道它的宽度是多少,但是宽度 属性 报告 Nan 而 actualWidth 报告 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>
这对每个控件都有效:未指定时如何知道其当前大小? 谢谢
有可能组件在您获取其尺寸时尚未显示。您可以在对象的加载事件中获取正确的 actualWidth。