Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
.png)
La casella combinata è un controllo elementi in forma di elenco a discesa. In Microsoft Expression Blend è possibile inserire contenuto in una casella combinata facendo doppio clic sulla casella combinata e quindi disegnandovi un oggetto, ad esempio SimpleComboBoxItem, all'interno. In alternativa, è possibile fare clic con il pulsante destro del mouse sulla casella combinata nel pannello Oggetti e sequenza temporale, quindi scegliere Aggiungi SimpleComboBoxItem per aggiungere singoli elementi all'insieme oppure Associa ItemsSource a dati per generare l'insieme di oggetti ComboBoxItem da un'origine dati. Per visualizzare la casella combinata come espansa nella tavola da disegno, è possibile fare clic con il pulsante destro del mouse sulla casella combinata o sull'elemento casella combinata in Oggetti e sequenza temporale e quindi scegliere Espandi ComboBox.
Visualizzazione tavola da disegno di un controllo SimpleComboBox in seguito all'aggiunta di due elementi
.png)
Descrizione del modello del controllo
Il modello del controllo SimpleComboBox è composto dai seguenti elementi:
Un pannello Grid , utilizzato per contenere i vari oggetti figlio all'interno della casella combinata. Il pannello Grid, inoltre, semplifica l'aggiunta di altri oggetti al modello da parte di un progettista dell'interfaccia utente di un'applicazione.
Un elemento ContentPresenter denominato ContentSite, contenuto nell'oggetto Grid e utilizzato per visualizzare l'elemento selezionato.
Un controllo casella di testo denominato PART_EditableTextBox, contenuto nell'oggetto Grid e utilizzato per consentire all'utente di modificare il testo nella casella combinata. Poiché il nome PART_EditableTextBox viene utilizzato dalla classe per individuare la casella di testo, non deve essere modificato. Per impostazione predefinita, la casella di testo è compressa e viene resa visibile quando la proprietà IsEditable è impostata su True nella casella combinata a cui è applicato il modello del controllo.
Un controllo interruttore Popup, utilizzato per creare la parte espansa della casella combinata. Il controllo Popup si posiziona correttamente rispetto agli altri controlli e viene visualizzato al di sopra di qualsiasi altro contenuto. Tale controllo supporta inoltre alcune animazioni predefinite.
Un controllo Grid contenuto nel controllo Popup, che include un oggetto ScrollViewer per consentire di scorrere l'elenco di elementi. L'oggetto StackPanel in ScrollViewer consente di posizionare ogni elemento. La proprietà IsItemsHost di StackPanel è impostata su True affinché il controllo casella combinata possa posizionare gli oggetti figlio all'interno di StackPanel. Per modificare la modalità di visualizzazione degli elementi, è possibile sostituire questo pannello di layout facendo clic con il pulsante destro del mouse sulla griglia dell'elenco a discesa nel pannello Oggetti e sequenza temporale e quindi scegliendo Modifica tipo di layout per impostare un pannello diverso, ad esempio UniformGrid.
Il modello del controllo SimpleComboBoxItem è composto dai seguenti elementi:
Un pannello Grid , utilizzato per contenere i vari oggetti figlio all'interno dell'elemento della casella combinata. Un pannello Grid, inoltre, semplifica l'aggiunta di più oggetti al modello da parte di un designer.
Un elemento Border , utilizzato perché include una proprietà BorderThickness che può essere associata mediante modello alla proprietà BorderThickness del controllo pulsante a cui è applicato il modello.
Un elemento ContentPresenter , contenuto nell'oggetto Grid e automaticamente associato alla proprietà Content del controllo a cui è applicato il modello.
Trigger di proprietà utilizzati
I trigger di proprietà del modello del controllo vengono utilizzati per fare in modo che il controllo cambi in base alle modifiche delle proprietà. È possibile fare clic sugli elementi nel pannello Trigger per visualizzare le proprietà che vengono modificate quando un trigger è attivo. Quando ad esempio nel modello della casella combinata la proprietà HasItems è impostata su False, l'altezza minima dell'oggetto DropDownBorder viene impostata su 95, in modo che quando si fa clic sulla casella combinata venga visualizzata una finestra vuota per l'elenco a discesa. Se l'altezza minima fosse impostata su 0, verrebbe visualizzata una finestra di dimensioni troppo ridotte per l'elenco a discesa. Quando nel modello dell'elemento della casella combinata la proprietà IsHighlighted è impostata su True, la proprietà Background dell'oggetto Border viene modificata per indicare l'elemento selezionato nella casella combinata.
Pennelli utilizzati
I modelli SimpleComboBox e SimpleComboBoxItem utilizzano le seguenti risorse pennello del dizionario risorse SimpleStyles.xaml:
La proprietà Background dell'oggetto DropDownBorder viene impostata utilizzando WindowBackgroundBrush.
La proprietà BorderBrush dell'oggetto DropDownBorder viene impostata utilizzando SolidBorderBrush.
La proprietà Foreground viene impostata utilizzando DisabledForegroundBrush quando la proprietà IsEnabled è impostata su False.
Se in SimpleComboBox vengono inseriti elementi che utilizzano il modello SimpleComboBoxItem, la proprietà Background dell'elemento viene impostata utilizzando SelectedBackgroundBrush quando viene selezionato un elemento, mentre la proprietà Foreground viene impostata utilizzando DisabledForegroundBrush quando la proprietà IsEnabled è impostata su False.
Procedure consigliate e linee guida di progettazione
In generale, è consigliabile utilizzare un controllo Grid come elemento radice del modello se si prevede che un progettista aggiungerà altri elementi visivi al controllo. In Expression Blend viene eseguita la ricerca di un pannello di layout come il controllo Grid, il quale diventa attivo per impostazione predefinita, in modo che i nuovi oggetti aggiunti alla tavola da disegno diventino oggetti figlio del pannello di layout.
L'espansione della casella combinata viene impostata associando la proprietà IsChecked dell'oggetto ToggleButton e la proprietà IsOpen dell'oggetto Popup alla proprietà IsDropDownOpen della casella combinata a cui è applicato il modello del controllo. Se si modifica l'oggetto ToggleButton o l'oggetto Popup, è necessario verificare che l'associazione al modello venga mantenuta.
Nell'oggetto ToggleButton viene utilizzato un modello separato denominato ToggleButtonControlTemplate. Per modificare questo modello, fare clic con il pulsante destro del mouse sull'oggetto ToggleButton, scegliere Modifica modello, quindi fare clic su Modifica corrente.
Per modificare il modello SimpleComboBoxItem, fare clic sul pulsante Modifica risorsa accanto allo stile SimpleComboBoxItem nel pannello Risorse. Nella modalità di modifica dello stile fare clic con il pulsante destro del mouse su Style nel pannello Oggetti e sequenza temporale, scegliere Modifica modello, quindi fare clic sull'opzione relativa alla modifica del modello corrente. Se si modifica il modello SimpleComboBoxItem, è possibile mantenere o modificare il trigger IsHighlighted.
Vedere anche
Attività
Esercitazione: personalizzare l'aspetto del pulsante di espansione in un controllo SimpleComboBox
Copyright © 2011 Microsoft Corporation. Tutti i diritti riservati.