【问题标题】:How can i show a combobox inside of a TextBox pressing a mouse button or similar如何按鼠标按钮或类似按钮在 TextBox 内显示组合框
【发布时间】:2018-10-08 08:10:03
【问题描述】:

我搜索了很多,但我不知道从哪里开始。 我想创建一个 Xaml 文本框,其中任何位置的内部都会出现一个组合框 如果我按下鼠标按钮。我想从 Combobox 中选择一个项目,并且选择的 Combo Text 应该插入到 TextBox 中的位置。 ComboBox 不应填充孔 TextBox 它应该只插入一些可选择的已定义文本片段。 我怎样才能做到这一点?

【问题讨论】:

  • 我猜你必须编写自己的控件,你可以添加TextBox直到ComboBox,添加其余字符串直到另一个ComboBox,你可以将这些项目存储在LinkedList或任何列表,并获得具有自写属性的整个文本

标签: c# wpf xaml


【解决方案1】:

我认为您根本不需要 TextBox 控件。
如果您只想从列表中选择一个项目然后显示它,这正是ComboBox 的设计目的。

但如果你想 f.e.在另一个元素中显示当前选择的 ComboBox 您可以使用 DataBinding 将 ComboBox.SelectedItem 绑定到 TextBox
您会在这个 SO 问题中找到很多关于使用 MVVM 绑定“ComboBox”控件的信息:
Binding ComboBox SelectedItem using MVVM

如果您想深入了解 MVVM,请参阅 Josh Smith 的一篇很棒的文章,我用它来开始 WPF 和 MVVM:
MVVM Pattern by Josh Smith

【讨论】:

  • 它应该让用户有可能在文本框中单击鼠标,而不是组合框应该出现在右侧或左侧的某个位置(如上下文菜单),用户可以在其中选择一个项目和该项目( string ) 将插入到文本框中单击完成时光标所在的位置。
  • 那么这个链接可能就是你需要的:stackoverflow.com/questions/3373239/wpf-editable-combobox
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多