如何将自定义控件中的事件处理程序附加到其父usercontrol关闭事件?

时间:2015-02-11 22:58:47

标签: wpf user-controls custom-controls

我一直无法找到答案。我有一系列的用户控件,每个用户控件都创建一个或多个usercontrol子节点。该系列中的最后一个用户控件创建了一个使用非托管代码的自定义控件。

当单击右上角的“X”时,我需要让自定义控件知道用户关闭其父用户控件窗口。这样可以妥善处理非托管代码。

基本的XAML是:

 <UserControl x:Class="Nova5.UI.Views.Ink.InkEditorView"
      <!--DataContext in InkEditorViewModel.cs-->
      <wc:CustomInkCanvas x:Name="myInkCanvas"
                          Vocabulary="{Binding Vocabulary, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}"
                          Text="{Binding Text, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" 
                          WordPad="{Binding WordPad, UpdateSourceTrigger=PropertyChanged, Mode=OneWayToSource}"
                          CloseCharacterPads ="{Binding CloseCharacterPads}"/>
</UserControl>

假设usercontrol本身可以从其父用户控件中知道关闭事件,我如何将自定义控件wc:CustomInkCanvas中的方法附加到其父用户控件的关闭事件?

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

不是我真正希望的答案,但这在放入customInkCanvas构造函数时有效:

  Unloaded += new RoutedEventHandler(CustomInkCanvas_Unloaded);

有更好的想法吗?