分組組合框,我能夠在這裏找到一個分組組合框http://www.jarloo.com/wpf-combobox-with-groupings/WPF與膨脹
它適合我使用的例子,除了我需要一個額外的行爲。這些項目應該都可以在它們各自的頭文件(使用擴展器)下摺疊。
例如, 水果 蘋果 橙色 葡萄 動物 貓 狗 牛
以上的項目將被顯示在組合框的組合風格,但我會想每頭(這是水果,動物)是使用擴展器可摺疊。你能幫助一個例子嗎?
感謝, CHEV
分組組合框,我能夠在這裏找到一個分組組合框http://www.jarloo.com/wpf-combobox-with-groupings/WPF與膨脹
它適合我使用的例子,除了我需要一個額外的行爲。這些項目應該都可以在它們各自的頭文件(使用擴展器)下摺疊。
例如, 水果 蘋果 橙色 葡萄 動物 貓 狗 牛
以上的項目將被顯示在組合框的組合風格,但我會想每頭(這是水果,動物)是使用擴展器可摺疊。你能幫助一個例子嗎?
感謝, CHEV
預覽試試這個
<Grid>
<Grid.Resources>
<Style x:Key="GroupItem" TargetType="{x:Type GroupItem}">
<Setter Property="Margin" Value="0,0,0,5"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander IsExpanded="True">
<Expander.Header>
<DockPanel>
<TextBlock Text="{Binding Name}" FontWeight="Bold" Margin="2,5,0,2" FontSize="14"/>
</DockPanel>
</Expander.Header>
<Expander.Content>
<Border Margin="5,0,0,0">
<ItemsPresenter />
</Border>
</Expander.Content>
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<ComboBox Height="27" HorizontalAlignment="Left" Margin="162,109,0,0" VerticalAlignment="Top" Width="195" DisplayMemberPath="Item" Name="cboGroup">
<ComboBox.GroupStyle>
<GroupStyle ContainerStyle="{StaticResource GroupItem}"/>
</ComboBox.GroupStyle>
</ComboBox>
</Grid>
謝謝。這工作! – Jithu
你想要的是一個TreeView而不是ComboBox
。 WPF TreeView
本地支持此行爲。從MSDN下面的例子。
注意:這沒有你要找的下拉功能。
您的代碼應該是這樣的:
<TreeView SelectedItemChanged="TreeView_SelectedItemChanged">
<TreeViewItem Header="Fruit">
<TreeViewItem Header="Apple"/>
<TreeViewItem Header="Orange"/>
<TreeViewItem Header="Grape"/>
</TreeViewItem>
<TreeViewItem Header="Animals">
<TreeViewItem Header="Cat"/>
<TreeViewItem Header="Dog"/>
<TreeViewItem Header="Cow"/>
</TreeViewItem>
</TreeView>
編輯:增加額外的代碼,以防止用戶點擊的標題項目,而是它只是摺疊/展開的節點。
private void TreeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
var item = e.NewValue as TreeViewItem;
if (item == null ||item.Items.Count == 0) return;
item.IsExpanded = !item.IsExpanded;
item.IsSelected = false;
}
編輯:這裏的id是什麼會是什麼樣子
那你試試? – nvoigt