WPF的菜单类控件
Menu菜单
1 <Menu Grid.Row="1" > 2 <MenuItem Header="通讯录1 >"> 3 <MenuItem.Items> 4 <MenuItem Header="张三"> 5 <MenuItem.Icon > 6 <Image Source="../Resources/111.ico"/> 7 </MenuItem.Icon></MenuItem> 8 <MenuItem Header="李四"/> 9 <MenuItem Header="王五"/> 10 </MenuItem.Items> 11 </MenuItem> 12 <MenuItem Header="通讯录2 >"> 13 <MenuItem.Items> 14 <MenuItem Header="张三"/> 15 <MenuItem Header="李四"/> 16 <MenuItem Header="王五"/> 17 </MenuItem.Items> 18 </MenuItem> 19 </Menu>
层级绑定方式:
1 <Menu ItemsSource="{Binding MenuList}"> 2 <Menu.ItemTemplate> 3 <HierarchicalDataTemplate ItemsSource="{Binding Childs}"> 4 <TextBlock Text="{Binding Name}"/> 5 </HierarchicalDataTemplate> 6 </Menu.ItemTemplate> 7 </Menu>
VM中属性:
1 private ObservableCollection<MenuNode> menulist; 2 public ObservableCollection<MenuNode> MenuList 3 { 4 get { return menulist; } 5 set 6 { 7 menulist = value; 8 RaisePropertyChanged(); 9 } 10 } 11 12 public class MenuNode 13 { 14 public string Name { get; set; } 15 private List<MenuNode> childs = new List<MenuNode>(); 16 public List<MenuNode> Childs 17 { 18 get { return childs; } 19 } 20 }
右键菜单
1 <Button Content="右键菜单" MouseRightButtonDown="Button_MouseRightButtonDown" > 2 private void Button_MouseRightButtonDown(object sender, MouseButtonEventArgs e) 3 { 4 (sender as Button).ContextMenu = CreateMenu(); 5 (sender as Button).ContextMenu.IsOpen = true; 6 } 7 8 private ContextMenu CreateMenu() 9 { 10 ContextMenu menu = new ContextMenu(); 11 for (int i = 0; i < 4; i++) 12 { 13 menu.Items.Add(new MenuItem() { Header = "1" + i }); 14 } 15 return menu; 16 }
树形菜单
1 <TreeView ItemsSource="{Binding MenuList}"> 2 <TreeView.ItemTemplate> 3 <HierarchicalDataTemplate ItemsSource="{Binding Childs}" > 4 <TextBlock Text="{Binding Name}"/> 5 </HierarchicalDataTemplate> 6 </TreeView.ItemTemplate> 7 </TreeView>
下拉菜单
1 <ComboBox SelectedIndex="2"> 2 <ComboBox.Items> 3 <ComboBoxItem Content="菜单1"/> 4 <ComboBoxItem Content="菜单2"/> 5 <ComboBoxItem Content="菜单3"/> 6 <ComboBoxItem Content="菜单4"/> 7 </ComboBox.Items> 8 </ComboBox>
也可以用Popup实现菜单效果;

浙公网安备 33010602011771号