C# 调用自定义控件';s函数在XAML中的键控

C# 调用自定义控件';s函数在XAML中的键控,c#,wpf,xaml,C#,Wpf,Xaml,我有一个自定义的AutoCompleteBox控件,它扩展自AutoCompleteBox。在xaml中,定义如下: <customControlsPtw:AutoCompleteBoxEx x:Name="PART_TextBox" Grid.Row="0" Grid.Column="0" Padding="2,2,22,2" Horiz

我有一个自定义的
AutoCompleteBox
控件,它扩展自
AutoCompleteBox
。在xaml中,定义如下:

<customControlsPtw:AutoCompleteBoxEx x:Name="PART_TextBox"
                   Grid.Row="0"
                   Grid.Column="0"
                   Padding="2,2,22,2"
                   HorizontalContentAlignment="Stretch"
                   VerticalContentAlignment="Top"
                   IsTextCompletionEnabled="False" 
                   KeyUp="AutoCompleteBox_KeyUp"
                   MouseLeftButtonUp="AutoCompleteBox_MouseLeftButtonUp"
                   ItemsSource="{TemplateBinding ItemsSource}"
                   Text="{Binding Text,
                              RelativeSource={RelativeSource TemplatedParent},
                              Mode=TwoWay,
                              UpdateSourceTrigger=PropertyChanged}"
                   TextWrapping="{TemplateBinding TextWrapping}">
所以我可能会做一些类似于
customControls:AutoCompleteBox.AutoCompleteBox\u KeyUp
,但它似乎无法找到它(无法解析符号)

我仍然习惯WPF,所以我想知道是否有一种方法可以做到这一点

…如果我能在自定义控件中拥有这些函数,我会更愿意

如果希望在“自定义控件本身”中定义事件处理程序,可以使用
+=
语法将它们连接到
AutoCompleteBoxEx
类的构造函数中:

public AutoCompleteBoxEx()
{
    this.KeyUp += AutoCompleteBox_KeyUp;
    this.MouseLeftButtonUp += AutoCompleteBox_MouseLeftButtonUp;
}

然后默认情况下,它们会出现在
AutoCompleteBoxEx

的每个实例中。“通常,这些可以在后面的代码中定义,但我希望避免这样做,如果我可以在自定义控件本身中拥有这些函数,我会更喜欢”-所有控件通常都有一些c代码来表示它们的属性和功能。你为什么要避免这种情况?
public AutoCompleteBoxEx()
{
    this.KeyUp += AutoCompleteBox_KeyUp;
    this.MouseLeftButtonUp += AutoCompleteBox_MouseLeftButtonUp;
}