如何将虚拟ListView放在StackPanel或Flyout中?

时间:2014-07-16 06:45:17

标签: c# xaml windows-phone-8 windows-runtime windows-phone-8.1

ListView内有flyout flyout StackPanel <Flyout Placement="Full"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Text="All Players" Margin="12"/> <ListView Grid.Row="1" Margin="12"/> </Grid> </Flyout> 有无限高度,因此ListView无法进行虚拟化。

Height = 500

我可以给网格一个固定的{{1}},但它可能会在不同的分辨率上发生变化。

我需要获取页面高度并将其设置为绑定但我不知道如何获取它!

如何限制ListView的高度?

1 个答案:

答案 0 :(得分:1)

您可以订阅页面的SizeChanged事件,并从后面的代码设置高度:

    private void PhoneApplicationPage_SizeChanged(object sender, SizeChangedEventArgs e)
    {
        //Set the <Grid Name="GridInsideFlyout"> in XAML
        GridInsideFlyout.Height = e.NewSize.Height;
    }