单击gridview中usecontrol的事件

本文关键字:事件 usecontrol gridview 单击 | 更新日期: 2023-09-27 18:29:00

我有一个带有自定义用户控件的gridview。这是用户控件的XAML:

<UserControl
    x:Class="App11.VideoPreview"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App11"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="250"
    d:DesignWidth="250">
    <Grid>
        <Button Height="250" Width="250" Padding="0" BorderThickness="0">
            <StackPanel>
                <Image Name="image1" Height="250" Width="250" Stretch="None"/>
                <Grid Margin="0,-74,0,0">
                    <Grid.Background>
                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" Opacity="0.5">
                            <GradientStop Color="Black"/>
                            <GradientStop Color="#FF5B5B5B" Offset="1"/>
                        </LinearGradientBrush>
                    </Grid.Background>
                    <TextBlock x:Name="textBox1" TextWrapping="Wrap" FlowDirection="RightToLeft" Foreground="White" Padding="5"/>
                </Grid>
            </StackPanel>
        </Button>
    </Grid>
</UserControl>

在gridview中单击按钮时,如何捕捉单击事件?我在gridview页面的.cs中尝试了GridView_ItemClickGridView1_SelectionChanged我还在用户控制页的.cs中尝试了button_Click
两个都不适合我。知道为什么吗?

编辑:它确实奏效了。我刚刚尝试使用Frame.Navigate(typeof(PageName));更改帧
我无法从usercontrol更改帧,我必须将当前帧发送到构建函数中的usercontrol,然后更改帧,如下所示:

    Frame frame;
    public VideoPreview(Frame f)
    {
        this.InitializeComponent();
        frame = f;
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        frame.Navigate(typeof(PlayVideo));
    }

单击gridview中usecontrol的事件

尝试查看MVVM模式http://www.codeproject.com/Articles/165368/WPF-MVVM-Quick-Start-Tutorial并使用命令而不是事件。

<Button Command="{Binding SomeActionCommand}" /> 

这将使您的代码更加干净可靠。