公开在另一个自定义控件的控件模板中定义的自定义控件事件
本文关键字:自定义控件 定义 事件 控件 另一个 | 更新日期: 2023-09-27 18:35:15
我要做的是公开自定义控件中包含的按钮的单击事件。此自定义控件的实例在另一个自定义控件的控件模板中声明。
例如,假设我有以下内容:
public class CustomTabPanel : Panel
{
public Button newButton;
//lots of other stuff
}
然后我有另一个这样的控件
public class CustomControl : Selector
{
//stuff here
}
这个 CustomControl 类有一个在 generic.xaml 中定义的模板,该模板定义了 CustomTabPanel 的实例,如下所示(内容已被剥离)
<Style TargetType="{x:Type local:CustomControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:CustomControl}">
<local:CustomTabPanel IsItemsHost="True"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
然后,可以在 MainWindow.xaml 或任何位置创建此控件的实例。
我的问题是,假设控件是在那里定义的,我如何访问 MainWindow.xaml 中 CustomTabPanel 中按钮的 Click 事件?
我试图使这个解释尽可能简单,如果您需要更多实现细节,请询问。
非常感谢任何帮助!
克里斯
将其公开为 CustomControl 上的依赖项属性。将其连接到自定义控件代码文件中。这有点利用它。