0

ラジオボタンとチェック可能なメニュー項目を備えたコンボボックスがあります。値を選択すると、ラジオボタンのテキスト(含める/除外/無視)が表示されます。これはランダムに発生するようで、常に発生するとは限りませんが、たまにしか発生しません。

私が欲しいのは、a)テキストがまったく表示されない、またはb)選択されたものの要約を含む文字列プロパティのバインディングを持つことができるということです。通常のコンボボックスとは異なり、ここに表示されるテキストは無意味です。オプションの任意の組み合わせを選択するためです(リストから1つの値ではありません)。

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は、定義された値を取得するための私の道の1つです。Text拘束力がないだけでなく、試した場合。

4

1 に答える 1

1

エキスパンダーを使って目標を達成できると思います。このソリューションの問題は、Expanderを展開すると、親コンテナーのサイズが変更される可能性があることです。したがって、私が通常行うことは、それをグリッドに配置し、複数の行と列にまたがるように指定することです。次に、エキスパンダーのz-indexを大きな値に設定します。したがって、展開されたエキスパンダーは他のコントロールをオーバーレイし、親パネルのサイズを変更しません。:)

于 2012-12-04T03:09:57.967 に答える