Domanda

Sto riscontrando un problema durante la creazione di un nuovo CompositeControl.

Attualmente ho un controllo personalizzato che eredita da TextBox, il controllo NON ha la proprietà Style definita, ma posso impostare la proprietà nella pagina Markup e lo stile verrà applicato correttamente.

Sto cercando di creare un CompositeControl con le stesse funzionalità del controllo personalizzato, tutto funziona correttamente fino a quando non provo a impostare la proprietà Style sul controllo, in fase di compilazione viene generato questo errore: " Il ' La proprietà Style 'non può essere impostata in modo dichiarativo " , questo continua a succedere anche se dichiaro la proprietà' Style 'nel codice per CompositeControl (anche se utilizzo la parola chiave' new ').

Non riesco a capire perché visualizzo l'errore in uno dei controlli e non nell'altro.

Qualsiasi consiglio sarà apprezzato.

Grazie

È stato utile?

Soluzione

I "risolto" esso!

Non devo solo definire la proprietà Style nel controllo composito che sto creando, se lo lascio così posso aggiungere lo Style al controllo e accedervi nel codice del controllo.

per es.

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

e nel codice MyCompositeControl posso accedervi come:

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

E imposta lo stile sul controllo a cui voglio che venga applicato (in questo caso, il controllo input ).

Non riesco ancora a capire perché non riesco a impostare la proprietà Style, ma la cosa buona è che non è necessario.

Grazie per l'aiuto

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top