在 silverlight 中公开自定义模板按钮中的 OnClick 事件

发布于 2024-10-21 13:33:28 字数 434 浏览 0 评论 0原文

在 Blend 中,我使用了一个简单的按钮 -->编辑模板-->创建空... 为按钮添加了图像,并填充了一些视觉状态。

现在我想公开一个 OnClick 事件:

public partial class MyButton : UserControl
{
    public MyButton()
    {
        // Required to initialize variables
        InitializeComponent();          
        button.Click += Click;                                          
    }

    public event RoutedEventHandler Click;
}

但这对我不起作用。怎么了 ?

In Blend, I took a simple button --> Edit Template --> Create Empty...
Added an image for the button, and filled some visual states.

Now I want to expose an OnClick event :

public partial class MyButton : UserControl
{
    public MyButton()
    {
        // Required to initialize variables
        InitializeComponent();          
        button.Click += Click;                                          
    }

    public event RoutedEventHandler Click;
}

But this doesn't work for me. What is wrong ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只为一人 2024-10-28 13:33:28

目前尚不清楚到底什么在这里不起作用,但看起来您正在尝试将 Click 委托分配给您的 button.Click 事件,而 Click 为空。您应该做的是分配另一个委托来调用 Click

button.Click += Click; 替换为:

button.Click += (sender, args) => { if (Click != null) Click(sender, args); };  

It's not clear what exactly doesn't work here, but looks like you're trying to assign Click delegate to your button.Click event while Click is empty. What you should do is assign another delegate which will invoke Click.

Replace button.Click += Click; with:

button.Click += (sender, args) => { if (Click != null) Click(sender, args); };  
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文