当前位置: 首页 > 知识库问答 >
问题:

WPF组合框问题

吴腾
2023-03-14

我在wpf c#应用程序中有一个组合框。在xaml中,我尝试执行以下操作。

ItemsSource 来自一个变量。选定项在另一个变量上设置值

但我希望显示的文本来自一个新变量。

如何停止使所选项目源显示为正文?

<ComboBox x:Name="ComboPlay" FontSize="14" MinHeight="20" Margin="0,2,4,4" Grid.Row="1" Grid.Column="3" MinWidth="160"
ItemsSource="{Binding ComboBoxList}"
SelectedItem="{Binding OutputChannel.Value, Converter={StaticResource ResourceKey=ValueToStringConverter}}" Grid.ColumnSpan="1"
IsEnabled="{Binding IsDriveChoiceEnabled}"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>

共有1个答案

蒋泰
2023-03-14

如果您的意思是更改当前选定项目的显示(关闭下拉列表时显示的控件部分),请查看WPF组合框中选定项目的模板与下拉列表部分中的项目的模板是否不同?

老实说,快速搜索发现了这一个和许多类似的。可能最简单的方法,就像链接的答案一样,就是确定您的项目是否包装在ComboBoxItem中,然后以不同的方式显示。或者您可以重新模板组合框。或者,如果您希望在不同的上下文中重用它,您可以从它派生(并重新创建模板),并为所选项的模板提供单独的依赖属性。天空是极限。

 类似资料:
  • 我有2个组合盒主从这样: 但当我在第一个组合框中选择一个项目时,它有空的“项目”列表,而我已经用“项目”选择了其中一个项目,并在第二个组合框选择了项目。第二个组合框中的文本不为空。我也尝试过使用IsSynchronizedWithCurrentItem=“False”。 是什么问题呢?

  • 我在后台有< code>ViewModel(实现< code > INotifyPropertyChanged )和类< code>Category,它只有一个< code>string类型的属性。我的ComboBox SelectedItem绑定到类别的实例。当我更改instance的值时,SelectedItem没有更新,Combobox也没有更改。 编辑:代码 组合框: 物业: 我尝试的是:

  • 日安, 我希望我的组合框选择其中的第一个项目。我正在使用C#和WPF。我从DataSet读取数据。要填充组合框: 组合框XAML代码: 如果我尝试: 它不起作用。

  • 我是C#新手,我不断收到以下无法删除的错误。 我的代码如下,我不能确切地说出哪一行导致了错误,但我怀疑它与RibbonRadioButtons有关,因为如果我删除它们,我不会得到错误。只有在单击两个或更多单选按钮后,错误才会出现。ComboBoxItem上的一个回答继续抛出绑定错误,尽管style暗示是多个Refresh()语句导致了这个问题,但我不知道如何避免这个问题。 有人能帮我解决这个问题吗

  • 我想在 WPF 中创建一个顶部有一个项的组合框,当它被选中时,选定项应设置为 null(重置为默认状态)。我一直在寻找,但没有找到令人满意的解决方案。 如果可能的话,我希望它只使用XAML代码或附加的行为来实现,因为我不太喜欢更改视图的ViewModel中的内容,或者重写标准控件。 这是我到目前为止想出的(缩短代码): 我认为最好的方法是以某种方式添加一个事件触发器,当项目被选中时,该触发器将设置

  • 我有一个ComboBox,我想在视图模型中将选中的项目文本绑定到一个字符串。 现在我有了: Xaml: 视图模型: 当我运行该程序时,我收到异常: Binding表达式路径错误:在“对象”上找不到“类型”属性“观察集合'1'(HashCode=34166919)”。Binding表达式:路径=类型;数据项=“观察集合'1'(HashCode=34166919);目标元素是“组合框”(名称=");目