0

我在创建新的 CompositeControl 时遇到问题。

目前我有一个从 TextBox 继承的自定义控件,该控件没有定义 Style 属性,但我可以在页面标记中设置属性,并且将正确应用样式。

我正在尝试创建与自定义控件具有相同功能的 CompositeControl,一切正常,直到我尝试在控件上设置 Style 属性,在编译时抛出此错误:“无法以声明方式设置'Style'属性",即使我在 CompositeControl 的代码中声明了 'Style' 属性(即使我使用了 'new' 关键字),这种情况也会继续发生。

我不明白为什么我在其中一个控件中而不是在另一个控件中出现错误。

任何建议将被认真考虑。

谢谢

4

1 回答 1

1

我“解决”了!

我只是不必在我正在创建的复合控件中定义 Style 属性,如果我让它这样,我可以将 Style 添加到控件并在控件的代码中访问它。

例如

  <cc1:MyCompositeControl runat="server" Style="background-color:Red" />

在 MyCompositeControl 代码中,我可以像这样访问它:

  foreach (string item in Style.Keys)
  {
     input.Style.Add(item, Style[item]);
  }

并将样式设置为我希望将其应用于的控件(在本例中为输入控件)。

我仍然不明白为什么我不能设置 Style 属性,但好在我不需要。

谢谢你的帮助

于 2009-09-16T21:05:36.013 回答