popUpControl
和listBoxControl
返回NaN
作为高度和宽度。 ActualHeight
也是0.0
为什么呢?更重要的是,解决方法是什么?
<Popup Name="popUpControl" IsOpen="True" VerticalAlignment="Top" HorizontalAlignment="Left" >
<ListBox Name="listBoxControl" SelectionChanged="_ListBox_SelectionChanged"
Style="{StaticResource ListBoxStyle}" BorderBrush="Transparent"
MaxHeight="300" MaxWidth="350" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" >
<TextBlock Text="{Binding ID}" VerticalAlignment="Center" Margin="2,0,0,0" />
<TextBlock Text="{Binding Name}" VerticalAlignment="Center" Margin="2,0,0,0" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Popup>
答案 0 :(得分:5)
要更新FrameworkElement的ActualWidth
和ActualHeight
,您必须致电UpdateLayout
。
希望这有助于某人。
答案 1 :(得分:-1)
在WPF和silverlight中,NaN的宽度和/或高度意味着“自动”您应该看到的(并绑定到)而不是ActualWidth和/或ActualHeight