Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带菜单项和单选按钮的WPF组合框中显示的文本_C#_Wpf_Combobox - Fatal编程技术网

C# 带菜单项和单选按钮的WPF组合框中显示的文本

C# 带菜单项和单选按钮的WPF组合框中显示的文本,c#,wpf,combobox,C#,Wpf,Combobox,我有一个带有单选按钮和可检查菜单项的组合框。当我选择一个值时,会显示单选按钮(包括/排除/忽略)的一些文本。这似乎是随机的,并不总是发生,但只是偶尔发生 我想要的是a)根本不显示任何文本,或者b)我可以为字符串属性创建绑定,该绑定将包含所选内容的一些摘要。与普通组合框不同,此处显示的文本没有意义,因为我确实选择了一些任意选项组合(而不是列表中的单个值) 我已尝试针对属性绑定Text/SelecteValue,但这不起作用 <ComboBox Grid.Column="2" Horizont

我有一个带有单选按钮和可检查菜单项的组合框。当我选择一个值时,会显示单选按钮(包括/排除/忽略)的一些文本。这似乎是随机的,并不总是发生,但只是偶尔发生

我想要的是a)根本不显示任何文本,或者b)我可以为字符串属性创建绑定,该绑定将包含所选内容的一些摘要。与普通组合框不同,此处显示的文本没有意义,因为我确实选择了一些任意选项组合(而不是列表中的单个值)

我已尝试针对属性绑定Text/SelecteValue,但这不起作用

<ComboBox Grid.Column="2" HorizontalAlignment="Left" Margin="0,4,0,0" Grid.Row="3" VerticalAlignment="Top" Width="125" SelectedValue="{Binding Settings.NameFilterTrx.Summary, UpdateSourceTrigger=PropertyChanged,  Mode=OneWay}">
  <MenuItem Header="Names with runway" IsCheckable="True" IsChecked="{Binding Settings.NameFilterTrx.NamesWithRunway, UpdateSourceTrigger=PropertyChanged}"/>
  <MenuItem Header="Names with number" IsCheckable="True" IsChecked="{Binding Settings.NameFilterTrxNamesWithNumber, UpdateSourceTrigger=PropertyChanged}"/>
  <MenuItem Header="Filtered elements as comments" IsCheckable="True" IsChecked="{Binding Settings.NameFilterTrx.FilteredAsComments, UpdateSourceTrigger=PropertyChanged}"/>
  <RadioButton GroupName="Group" Content="Exclude" IsChecked="{Binding Settings.NameFilterTrx.ModeExclude, UpdateSourceTrigger=PropertyChanged}" Margin="10,2,0,3"/>
  <RadioButton GroupName="Group" Content="Include" IsChecked="{Binding Settings.NameFilterTrx.ModeInclude, UpdateSourceTrigger=PropertyChanged}" Margin="10,2,0,3"/>
  <RadioButton GroupName="Group" Content="Ignore"  IsChecked="{Binding Settings.NameFilterTrx.ModeIgnore, UpdateSourceTrigger=PropertyChanged}" Margin="10,2,0,3"/>
</ComboBox>

如您所见,文本与所选值不对应。此外,仅随机显示单选按钮的文本,从不显示菜单项的某些内容


PS:SelectedValue的绑定是我获取定义值的一个途径。如果您尝试了
文本
,并且没有绑定

我想你可以用扩展器来实现你的目标。此解决方案的问题是,当扩展程序展开时,它可能会更改父容器的大小。所以我通常做的是把它放在一个网格中,并指定它跨越几行和几列。然后我将把扩展器的z索引设置为一个大值。因此,扩展的扩展器将覆盖其他控件,而不会更改父面板的大小。:)

你为什么不使用扩展器来实现你的目标呢?它看起来像一个组合框,您不会被组合框的选定值所困扰。也许是个好主意,让我试试。还有一件事,当扩展程序展开时,它可能会更改父容器的大小。所以我通常做的是把它放在一个网格中,并指定它跨越几行和几列。然后我将把扩展器的z索引设置为一个大值。因此,扩展的扩展器将覆盖其他控件,而不会更改父面板的大小。这很酷,我刚刚意识到这个问题,答案已经存在;-))我使用了你的方法,也尝试/使用了同样情况下的菜单(基于你的想法)。这两个概念都有优点和缺点,但在这种特殊情况下都比组合框好。