连续显示 Flyout?

Display a Flyout in a row?

我在 ListView 中有一个内容列表,每个项目都包含一个 ID,此 ID 将传递到一个事件中,该事件应显示在 Flyout 中单击的行的详细信息。现在我的情况是:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="5" x:Name="FlyoutRow"/>
    </Grid.RowDefinitions>

所以你如何在主网格中看到我定义了一个名为 FlyoutRowrow,此行在启动时不可见,但仅当用户单击ListView.

现在的问题是行高为 5,因此 Flyout 永远不会出现在用户面前,是否可以展开保持 Flyout 动画的行?

这是我对 Flyout:

的实现
<Controls:Flyout x:Name="Flyout" Header="Flyout" Grid.Row="1">

</Controls:Flyout>

将行高设置为自动。然后使用将更改弹出高度的故事板。

    <Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApplication1"
        xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">

    <Window.Resources>
        <Storyboard x:Key="Maximize">
            <DoubleAnimation Duration="0:0:0.5" Storyboard.TargetProperty="Height" From="5" To="100" Storyboard.TargetName="FL">
            </DoubleAnimation>
        </Storyboard>

        <Storyboard x:Key="Minimize">
            <DoubleAnimation Duration="0:0:0.1" Storyboard.TargetProperty="Height" From="100" To="5" Storyboard.TargetName="FL">
            </DoubleAnimation>
        </Storyboard>
    </Window.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="292*"/>
            <RowDefinition Height="Auto" x:Name="FlyoutRow"/>
        </Grid.RowDefinitions>
        <ListView x:Name="View">
            <ListView.Triggers>
                <EventTrigger RoutedEvent="ListView.SelectionChanged">
                    <BeginStoryboard Storyboard="{StaticResource Maximize}"/>
                </EventTrigger>
                <EventTrigger RoutedEvent="ListView.LostFocus">
                    <BeginStoryboard Storyboard="{StaticResource Minimize}"/>
                </EventTrigger>
            </ListView.Triggers>
            <ListBoxItem Content="First item" Tag="Some information from first item"/>
            <ListBoxItem Content="Second item" Tag="Some information from second item"/>
            <ListBoxItem Content="Third item" Tag="Some information from third item"/>
            <ListBoxItem Content="Fourth item" Tag="Some information from fourth item"/>
            <ListBoxItem Content="Fifth item" Tag="Some information from fifth item"/>
            <ListBoxItem Content="Sixth item" Tag="Some information from sixth item"/>
            <ListBoxItem Content="Seventh item" Tag="Some information from Seventh item"/>
            <ListBoxItem Content="Eigth item" Tag="Some information from eith item"/>
        </ListView>
        <controls:Flyout Grid.Row="1" Width="517" x:Name="FL" HorizontalContentAlignment="Stretch" IsOpen="True">
            <TextBlock Text="{Binding ElementName=View, Path=SelectedItem.Tag}" Background="#FF74FF24"/>
        </controls:Flyout>
    </Grid>
</Window>