公开在另一个自定义控件的控件模板中定义的自定义控件事件

时间:2012-05-25 11:15:26

标签: c# .net wpf xaml

我要做的是公开自定义控件中包含的按钮的click事件。此自定义控件的实例在另一个自定义控件的控件模板中声明。

例如,假设我有以下内容:

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中Button的Click事件,假设在那里定义了控件?

我试图让这个解释尽可能简单,如果您需要更多实施细节,请询问。

非常感谢您的帮助!

克里斯

1 个答案:

答案 0 :(得分:0)

将其作为CustomControl的依赖项属性公开。 将它连接到CustomControl代码文件中。它有点利用它。