2011-07-31 24 views
5

Sto cercando di avere una casella combinata con due soli elementi:WPF ComboBox con testo modificabile come un elemento

----------- 
| Other.. | 
------------ 
| TextBox | 
------------ 

Casella di testo rappresentano una casella di testo fisico che può essere modificabile e Other.. essere solo un oggetto combobox regolare .

Qualcuno può darmi una mano su come avrò bisogno di modificarlo.

Ho provato a cambiare Combbox.itemtemplate con uno stackpanel e quindi ad aggiungere una casella di testo, ma non si è verificato e questo impedisce anche a me di avere un elemento combobox regolare nel controllo.

Grazie in anticipo.

risposta

2

Non sono sicuro quale sia il problema, hai provato questo:

<ComboBox> 
    <ComboBoxItem>Other</ComboBoxItem> 
    <TextBox>TextBox</TextBox> 
</ComboBox> 

Se questo non è ciò che si vuole, si prega di spiegare che cosa esattamente è necessario ...


(L'elemento TextBox potrebbe essere abbastanza difficile da selezionare, quindi assegnargli un'etichetta che può essere cliccata potrebbe essere di interesse)

<ComboBox> 
    <ComboBoxItem>Normal Item</ComboBoxItem> 
    <StackPanel Orientation="Horizontal"> 
     <TextBlock Text="Other: " VerticalAlignment="Center"/> 
     <TextBox>Enter text...</TextBox> 
    </StackPanel> 
</ComboBox> 
+0

Grazie, non avevo idea che fosse così facile, e lì ero confuso in quello che dovevo fare. Grazie ancora –

+0

Prego, lieto di averlo aiutato :) Come nota a margine, il ComboBox creerà un ComboBoxItem attorno a qualsiasi cosa che non sia già un ComboBoxItem, ma la sintassi precedente non è identica a ' 'poichè la raccolta' ComboBox.Items' esporrà direttamente il contenuto invece di ComboBoxItem se lasci che il ComboBox crei questo contenitore per te. –

12

Hai provato a impostare ComboBox.IsEditable = true? Quindi avrai bisogno di un solo oggetto e della proprietà ComboBox.Text.