質問

新しいCompositeControlの作成に問題があります。

現在、TextBoxから継承するカスタムコントロールがあり、コントロールにはStyleプロパティが定義されていませんが、ページマークアップでプロパティを設定でき、スタイルが正しく適用されます。

カスタムコントロールと同じ機能を持つCompositeControlを作成しようとしていますが、コントロールのStyleプロパティを設定しようとするまですべてが正常に機能します。コンパイル時にこのエラーがスローされます:" The ' Style 'プロパティを宣言的に設定することはできません" 、CompositeControlのコードで' Style 'プロパティを宣言した場合でも(「新しい」キーワードを使用しても)発生し続けます。

一方のコントロールではエラーが発生し、もう一方のコントロールではエラーが発生する理由を理解できません。

あらゆるアドバイスを歓迎します。

ありがとう

役に立ちましたか?

解決

「解決済み」それ!

作成している複合コントロールでStyleプロパティを定義する必要はありません。そのままにしておけば、コントロールにスタイルを追加して、コントロールのコードでアクセスできます。

e.g。

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

そしてMyCompositeControlコードで次のようにアクセスできます:

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

スタイルを適用したいコントロール(この場合は input コントロール)に設定します。

なぜStyleプロパティを設定できないのかまだ理解できませんが、良いことは必要ないことです。

ご協力ありがとうございます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top