我有一個帶單選按鈕和可檢查菜單項的組合框。當我選擇一個值時,會顯示單選按鈕的某些文本(包括/排除/忽略)。這似乎是隨機的,並不總是發生,但只是有時。帶有MenuItems和單選按鈕的WPF組合框中的顯示文本
我想要的是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
結合是我的小徑得到一個定義的值之一。如果已經嘗試Text
以及沒有約束力。
爲什麼不使用擴展器來實現您的目標?它看起來像一個組合框,你不會被選中的組合框的值所困擾。 – Colin
也許一個好主意,讓我試試。 –
還有一點,擴展器展開時,它可能會更改父容器的大小。所以我通常做的是把它放在網格中,並指定它跨越幾行和幾列。然後,我將把Expander的Z-index設置爲一個很大的值。因此,擴展擴展器將覆蓋其他控件,而不會更改父面板的大小。 – Colin