2011-07-31 14 views
5

szukam mieć pole kombi tylko z dwóch elementów:WPF ComboBox z edytowalnym polu tekstowym jako elementu

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

Pole tekstowe reprezentujących fizycznej tekstowe, które mogą być edytowane i Other.. jest po prostu zwykły element combobox .

Czy ktoś może mi pomóc, jak będę musiał go edytować.

Próbowałem zmienić Combbox.itemtemplate z panelem stackpanel, a następnie dodałem pole tekstowe, ale nie pojawiło się i to również zatrzymuje szansę na posiadanie regularnego elementu combobox w formancie.

Z góry dziękuję.

Odpowiedz

2

Nie całkiem pewni, co jest problem, czy próbowałeś to:

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

Jeśli nie jest to, co chcesz, proszę wyjaśnić, co dokładnie trzeba ...


(Element TextBox może być dość trudny do wybrania, dlatego dodanie go do etykiety, którą można kliknąć, może być interesujące)

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

Dzięki, nie miałem pojęcia, że ​​to było takie proste, i nie byłem zdezorientowany w tym, co musiałem zrobić. Jeszcze raz dziękuję –

+0

Nie ma za co, cieszę się, że pomogło :) Na marginesie, ComboBox stworzy ComboBoxItem wokół wszystkiego, co nie jest już ComboBoxItem, ale powyższa składnia nie jest identyczna z ' 'jako kolekcja' ComboBox.Items' nadal będzie bezpośrednio wystawiać zawartość zamiast ComboBoxItem, jeśli pozwolisz ComboBox utworzyć ten kontener dla ciebie. –

12

Czy próbowałeś już ustawić ComboBox.IsEditable = true? Będziesz potrzebował tylko jednego przedmiotu i właściwości ComboBox.Text.

Powiązane problemy