C# 如何在ControlTemplate中获取父事件?

C# 如何在ControlTemplate中获取父事件?,c#,wpf,C#,Wpf,我想从单选按钮ControlTemplate内的视图模型调用一个命令。并在引发事件检查时执行此操作 我试过这个: 但我认为事件来自ContentPresenter,而不是RadioButton。如何从RadioButton获取事件 编辑: 在视图模型中 public ICommand OnTypeChangedCommand { get { return m_TypeChangedCommand ?? (m_TypeChange

我想从单选按钮ControlTemplate内的视图模型调用一个命令。并在引发事件检查时执行此操作

我试过这个:

但我认为事件来自ContentPresenter,而不是RadioButton。如何从RadioButton获取事件

编辑:

在视图模型中

  public ICommand OnTypeChangedCommand
    {
        get
        {
            return m_TypeChangedCommand ?? (m_TypeChangedCommand = new DelegateCommand<ContentType>(OnTypeChanged));
        }
    }

    public void OnTypeChanged(ContentType type)
    {
        Debug.WriteLine(type);
    }

您不能这样做,因为路由事件仅从元素气泡或元素隧道处理

您可以在IsChecked属性上使用DataTrigger

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"  

<i:Interaction.Triggers>
    <ei:DataTrigger Binding="{Binding IsChecked,RelativeSource={RelativeSource AncestorType=RadioButton}}" Value=True>
         <i:InvokeCommandAction Command="{Binding DataContext.OnTypeChangedCommand, RelativeSource={RelativeSource AncestorType={x:Type Window}}}" CommandParameter="{Binding Tag, RelativeSource={RelativeSource AncestorType=RadioButton}}}" />       
    </ei:DataTrigger>
</i:Interaction.Triggers>

如何从触发器调用方法?IsChecked应该是我在viewModel中的属性?因为如果没有,我有BindingExpression路径错误:“IsChecked”属性在“object”DataTrigger上找不到“无需道歉,您正在帮助我我现在看不到任何错误,但它不起作用。OnTypeChangedCommand不调用检查是否到达具有断点的getter。尝试过的getter正常工作
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"  

<i:Interaction.Triggers>
    <ei:DataTrigger Binding="{Binding IsChecked,RelativeSource={RelativeSource AncestorType=RadioButton}}" Value=True>
         <i:InvokeCommandAction Command="{Binding DataContext.OnTypeChangedCommand, RelativeSource={RelativeSource AncestorType={x:Type Window}}}" CommandParameter="{Binding Tag, RelativeSource={RelativeSource AncestorType=RadioButton}}}" />       
    </ei:DataTrigger>
</i:Interaction.Triggers>