c#-将事件绑定/链接到嵌套在ItemsControls DataTemplate中的ItemsControl中的按钮

我的问题与此非常相似:(Binding events to buttons in an ItemsControl),但我在那里没有找到解决方案.
我有一个ItemsControl,在其DataTemplate中,我还有另一个ItemsControl.外部控件中的项目包含具有某些属性的类,并且这些属性之一是一个集合.内部ItemsControl源绑定到此集合,内部控件DataTemplate内部有一个Button.

我的问题是,当我为按钮连接事件(.. Click =“ dummyfunc”)并尝试运行该项目时,我收到未处理的XamlParseException(4004),并说“无法分配给属性’System.Windows” .Controls.Primitives.ButtonBase.Click’“
我在将外部ItemsControl放置在Xaml中的页面的CodeBehind中声明了事件处理程序.对于放置在外部控件DataTemplate中的按钮,它也可以正常工作.但是在内部控件模板中,我无法连接任何事件.

一件事有效:

<HyperlinkButton  Content="x">
     <i:Interaction.Triggers>
         <i:EventTrigger EventName="Click">
             <ei:CallMethodAction MethodName="DeleteMe" TargetObject="{Binding}"/>                            
         </i:EventTrigger>
     </i:Interaction.Triggers>             
</HyperlinkButton>

但这只会触发在我上面提到的项目中实现的方法(DeleteMe),该方法具有一些属性和一个集合.

但是,除此以外,我需要使用常规方法处理内部控件中的事件:

public void dummyfunc(object sender, RoutedEventArgs e){...}

(因此我可以获取触发事件的按钮,例如:

sender as HyperinkButton 

要么

e.OriginalSource as HyperlinkButton

我想问题是事件没有冒泡并且我得到了解析异常,因为解析器无法在实际范围内找到事件处理程序声明,这显然不是内部控件的CodeBehind

上一篇:c#-呈现自定义控件时未调用OnApplyTemplate方法


下一篇:CodeGo.net>如何绑定网格行高?