WPF ComboBox中的可编辑文本框作为一个项目

6

我想要一个只有两个选项的组合框:

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

文本框代表一个可编辑的物理文本框,Other..只是一个常规的组合框项。

有人可以帮我了解如何进行编辑吗?

我尝试使用堆栈面板更改Combbox.itemtemplate,然后添加文本框,但它没有显示出来,这也使我无法在控件中拥有常规的组合框项。

提前致谢。

2个回答

14
你尝试过设置 ComboBox.IsEditable = true 吗?这样你只需要一个项目和 ComboBox.Text 属性。

2

不太确定问题在哪里,您尝试过这个了吗:

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

如果这不是你想要的,请解释一下你需要什么...
< p >(TextBox项目可能很难选择,因此给它一个可单击的标签可能会更有趣)

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

谢谢,我不知道它是那么容易的,我还困惑着我需要做什么。再次感谢。 - Sandeep Bansal
不客气,很高兴能帮到你 :) 顺便提一下,ComboBox 会在任何不是 ComboBoxItem 的东西周围创建一个 ComboBoxItem,但上面的语法与 <ComboBoxItem><TextBox.../></ComboBoxItem> 不完全相同,因为如果让 ComboBox 为您创建此容器,则 ComboBox.Items 集合仍将直接公开内容而不是 ComboBoxItem。 - H.B.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接