如何在单击时隐藏列表视图,然后重新路由到另一个页面?

时间:2018-07-10 13:39:29

标签: c# wpf listview menu listviewitem

我当前正在创建一个带有ListView和ListViewItems的菜单。在菜单中,我想从一页返回到预定义页面。单击的ListviewItem在将我带回到预定义页面时应消失。但是,我被困在如何处理视图之间的流以及如何单击ListView时如何隐藏它。

XAML

<ListView x:Name="GoBackMenu" Foreground="#FF5C99D6" ScrollViewer.HorizontalScrollBarVisibility="Disabled" SelectionChanged="ListViewMenu_ClashPressed" SelectedIndex="{Binding SelectedIndex}" Margin="0 0 0 290" Visibility="visible" >
                <ListViewItem x:Name="Swift_goBackView" Height="80">
                    <StackPanel Orientation="Horizontal">
                        <materialDesign:PackIcon Kind="Backburger" Height="25" Width="25" Margin="10"/>
                        <TextBlock Text="Back to overview" VerticalAlignment="Center" Margin="20 10"/>
                    </StackPanel>
                </ListViewItem>
                <ListView.ItemContainerStyle>
                    <Style TargetType="ListViewItem">
                        <EventSetter Event="PreviewMouseLeftButtonDown" Handler="ListViewItem_PreviewMouseLeftButtonDown" ></EventSetter> 
                    </Style>
                </ListView.ItemContainerStyle></ListView>

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您可以在事件处理程序中删除被点击的项目,

private void ListViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    ListViewItem lvi = (ListViewItem)sender;
    GoBackMenu.Items.Remove(lvi);
}

“视图之间的流是如何处理的”取决于您尚未描述的当前导航实现。