2012-12-03 71 views
0

我有一個帶單選按鈕和可檢查菜單項的組合框。當我選擇一個值時,會顯示單選按鈕的某些文本(包括/排除/忽略)。這似乎是隨機的,並不總是發生,但只是有時。帶有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> 

正如您所看到的文字與所選值不一致。也只有單選按鈕的文本是隨機顯示的,從來沒有菜單項。

Screenshot

PS:對於SelectedValue結合是我的小徑得到一個定義的值之一。如果已經嘗試Text以及沒有約束力。

+2

爲什麼不使用擴展器來實現您的目標?它看起來像一個組合框,你不會被選中的組合框的值所困擾。 – Colin

+0

也許一個好主意,讓我試試。 –

+1

還有一點,擴展器展開時,它可能會更改父容器的大小。所以我通常做的是把它放在網格中,並指定它跨越幾行和幾列。然後,我將把Expander的Z-index設置爲一個很大的值。因此,擴展擴展器將覆蓋其他控件,而不會更改父面板的大小。 – Colin

回答

1

我認爲你可以使用擴展器來滿足你的目標。這個解決方案的問題是當擴展器展開時,它可能會改變父容器的大小。所以我通常做的是把它放在網格中,並指定它跨越幾行和幾列。然後,我將把Expander的Z-index設置爲一個很大的值。因此,擴展擴展器將覆蓋其他控件,而不會更改父面板的大小。 :)

+0

我已經使用過你的方法,並嘗試/使用了相同情況的菜單(根據你的想法)。這兩個概念都有優點和缺點,但比這個特例中的組合框要好。 –

相關問題