WPF UserControl子组件事件处理程序

阿洛尼奥斯

我有一个包含一个按钮(或任何其他对象)的UserControl。

<UserControl x:Class="StackOverFlowQuestion.UserControlButton"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:local="clr-namespace:StackOverFlowQuestion"
             mc:Ignorable="d"
             d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <Button
            x:Name="Button1"
            Content="Click me for testing"/>
    </Grid>
</UserControl>

我想访问该按钮(或任何对象)的单击事件或包含UserControl的父级的任何事件。

<Window x:Class="StackOverFlowQuestion.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:StackOverFlowQuestion"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <local:UserControlButton/>
    </Grid>
</Window>

谢谢。

力希野

这很容易。只需将公共事件放在UserControl(后面代码)中,因为可以从UserControl外部进行访问,并通过按钮转发Click事件。

public partial class UserControlButton : UserControl
{
    public event RoutedEventHandler ButtonClick;

    private void UsrCtlButton_Click(object sender, RoutedEventArgs e)
    {
        ButtonClick?.Invoke(sender, e);
    }
}

的XAML UserControl

<Button x:Name="Button1" Content="Click me for testing" Click="UsrCtlButton_Click"/>

使用XAML的地方UserControl

<local:UserControlButton ButtonClick="Some_event_handler_to_handle_Button_Click"/> 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么看不到子组件事件处理程序的父状态?

来自分类Dev

WPF 窗口分配事件处理程序

来自分类Dev

WPF UserControl 通用单击事件

来自分类Dev

React组件事件处理程序找不到这个

来自分类Dev

在React组件事件处理程序中未定义“ this”

来自分类Dev

吞没了事件处理程序中的WPF异常?

来自分类Dev

如何重写WPF C#中的内置事件处理程序

来自分类Dev

WPF单击事件处理程序获取文本块文本

来自分类Dev

如何重写WPF C#中的内置事件处理程序

来自分类Dev

事件处理程序+格式化多个按钮-WPF

来自分类Dev

WPF / XAML事件处理程序与视图模型的样式绑定

来自分类Dev

WPF - 为 PreviewMouseLeftButtonDown 添加处理程序抑制单击事件

来自分类Dev

WPF-从UserControl ViewModel引发事件

来自分类Dev

WPF UserControl.Loaded事件不会触发

来自分类Dev

在WPF中设置子UserControl的datacontext

来自分类Dev

如果WPF应用程序强制关闭或崩溃,则处理WPF关闭事件

来自分类Dev

如果WPF应用程序强制关闭或崩溃,则处理WPF关闭事件

来自分类Dev

全局异常处理程序WPF

来自分类Dev

WPF UserControl不显示

来自分类Dev

带ContextMenu wpf的UserControl

来自分类Dev

WPF的UserControl多个DataContexts?

来自分类Dev

父 UserControl WPF 中的子 UserControl TextBox 值

来自分类Dev

将WPF窗口投射到WPF UserControl

来自分类Dev

将WPF窗口投射到WPF UserControl

来自分类Dev

在WPF中处理MVVM中的鼠标事件

来自分类Dev

从UserControl设置ItemsSourse时,不会触发WPF DataGrid SelectionChange事件

来自分类Dev

从UserControl设置ItemsSourse时,不会触发WPF DataGrid SelectionChange事件

来自分类Dev

WPF窗口的后台工作程序组件

来自分类Dev

WPF按钮单击事件

Related 相关文章

热门标签

归档