如何使自定义控件从他的父级继承他的风格?

时间:2011-02-08 12:35:31

标签: silverlight-4.0 coding-style inheritance

我的代码中定义了一个自定义组合框( MyComboBox )(通过使类继承自ComboBox。 没有关联的XAML文件,只是添加了一些行为。

它按预期工作,但应用于标准ComboBox的样式不适用于MyComboBox

如何让自定义组合框从ComboBox继承其默认样式?我试过

DefaultStyleKey = typeof(ComboBox);

在构造函数中,但它没有改变任何东西。

提前致谢!

1 个答案:

答案 0 :(得分:2)

我在这个帖子中得到了答案:http://forums.silverlight.net/forums/p/218761/522162.aspx#522162

这基本上是修改构造函数,如下所示:

public MyComboBox()
{
    try
    {
        foreach (ResourceDictionary res in App.Current.Resources.MergedDictionaries)
        {
            if (res[typeof(ComboBox)] is Style)
            {
                this.Style = (Style)res[typeof(ComboBox)];
                return;
            }
        }
    }
    catch { }
}
相关问题