小编Jay*_*Dev的帖子

在自定义用户控件中公开事件 - Window Store 应用程序

我似乎在 Xaml 中公开事件时遇到问题。我已经在这样的自定义用户控件中声明了一个公共事件处理程序。

public sealed partial class FoodItemControl : UserControl
{
    public event EventHandler<StringEventArgs> thumbnailClicked;

    public FoodItemControl()
    {
        InitializeComponent();
        (this.Content as FrameworkElement).DataContext = this;
    }



    private void Thumbnail_Tapped(object sender, TappedRoutedEventArgs e)
    {
        var handler = thumbnailClicked;
        if (handler != null)
        {
            handler(this, new StringEventArgs());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我在 xaml 中为其分配一个事件时,无法找到暴露的事件处理程序。IE

<local:FoodItemControl thumbnailClicked="SOMETHING" />
Run Code Online (Sandbox Code Playgroud)

我在我发现的示例中遗漏了一些东西吗?

编辑:我的问题似乎是我将事件定义为 EventHandler< StringEventArgs >。一旦我将其更改为简单的 EventHandler Ie,它就起作用了

public event EventHandler thumbnailedClicked;
Run Code Online (Sandbox Code Playgroud)

但我还是不太明白为什么?

c# xaml user-controls windows-store-apps

5
推荐指数
1
解决办法
1880
查看次数

标签 统计

c# ×1

user-controls ×1

windows-store-apps ×1

xaml ×1