如何在UserControl中间接事件处理程序

问题描述

我在某个地方有一个带按钮的UserControl。 我需要将Click处理程序重定向到不同的方法,具体取决于UserControl的使用:

<UserControl .....>
   <Button
      Style="{StaticResource ButtonStyleStretch}"
      Background="Green"
      Content="{Binding DeleteButtonContent}"
      ToolTip="{Binding DeleteButtonTip}"
      Click="{Binding DeleteButtonClick}" />

DeleteButtonClick是UserControl背后代码中的依赖项属性

public readonly DependencyProperty AddButtonClickProperty =
        DependencyProperty.Register("AddButtonClick",typeof(string),typeof(UCInput));

public string AddButtonClick
{
  get => (string)GetValue(AddButtonClickProperty);
  set => SetValue(AddButtonClickProperty,value);
}

因为XAML中的Click事件通常类似于

Click="SomeMethodName"

我认为DepProp应该是字符串类型。

但是,我的事件处理程序具有以下签名:

private void DeleteButton_Click(object sender,RoutedEventArgs e){ ... }

我收到消息:

 Unable to cast object of type 'System.Reflection.RuntimeEventInfo' to type   'System.Reflection.MethodInfo'.
        

是我想要的一切吗?如果是这样:如何?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)