Impostare il tipo di proprietà su un custom control

giovedì 27 marzo 2008 - 09.16

amstrad Profilo | Junior Member

Buon giorno a tutti, è la prima volta che bado a queste sottilezze, ma vorrei che il controllo che sto definendo sia riutilizzabile da terzi, quindi voglio impedire l'immissione di valori che mi incasinerebbero il codice. ad esempio qui sotto vi riporto come definisco la proprietà dell'url un i'mmagine...
protected string pathImageForNews = "";
[Bindable(true),
Category("Appearance"),
DefaultValue(""),
Description("Immagine rappresentativa delle news"),
EditorAttribute(typeof(System.Web.UI.Design.ImageUrlEditor), typeof(UITypeEditor))]
public string PathImageForNews
{
get { return pathImageForNews; }
set { pathImageForNews = value; }
}
premetto che per fare questo ho dovuto aggiungere la reference a system.design(in System.Design.dll) e speravo fosse sufficente ad aggiungere quel che serviva all'utente per essere trattato come una normale proprietà imageurl. quindi con il conseguente controllo del formato e pickup url... ma a quanto pare non è così...

in compenso prende a meraviglia Category("Appearance") mettendolo sotto questa voce, ma è la meno importante di quelle che ho scritto, non visualizza nè l'interfaccia per la scelta dell'immagine, ne la descrizione

qualcuno di buon cuore può spiegarmi cosa ho tralasciato se ho tralasciato qualcosa e cosa ho sbagliato se ho sbagliato qualcosa?
grazie a tutti.

Aggiungo come info in più che anche aggiungendo una proprietà di tipo :

public Unit Width
{
get { return width; }
set { width = value; }
}
[Category("Appearance"),
DefaultValue("400px"),
PersistenceMode(PersistenceMode.Attribute)]
public Unit Height
{
get { return height; }
set { height = value; }
}
non ottengo nessun messaggio di errore se in design time inserisco come valore una stringa "qwert" anche se in fase di compilazione mi restituisce l'errore
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5