2014-04-03 36 views
0

在此组合框中,我有一个包含多个菜单的菜单。将WPF组合框子菜单项绑定到组合框selecteditem

这是它的外观:

enter image description here

这是XAML:

<ComboBox> <Menu> <MenuItem Header="Name"> <MenuItem Header="Last" /> <MenuItem Header="First" /> </MenuItem> </Menu> <Menu> <MenuItem Header="Age"> <MenuItem Header="20" /> <MenuItem Header="24" /> </MenuItem> </Menu> </ComboBox>

当用户选择 “最后一次”/ “第一”/ “20”/” 24“我希望组合框将其选定项目设置为这4个项目中的一个。

可能吗?如果是,我该怎么办?

回答

0

是的,你可以做到这一点。但我不确定这是否是最好的方式,因为我完全不知道您的要求。

XAML:

<ComboBox x:Name="cmb1" IsEditable="True" > 
      <Menu> 
       <MenuItem Header="Name" > 
        <MenuItem Click="MenuItem_Click" CommandParameter ="Last" Header="Last"/> 
        <MenuItem Click="MenuItem_Click" CommandParameter="First" Header="First" /> 
       </MenuItem> 
      </Menu> 
      <Menu> 
       <MenuItem Header="Age"> 
        <MenuItem Header="20" /> 
        <MenuItem Header="24" /> 
       </MenuItem> 
      </Menu> 
     </ComboBox> 

VB代码:

Private Sub MenuItem_Click(sender As Object, e As RoutedEventArgs) 
    Me.cmb1.Text = CType(sender, MenuItem).CommandParameter.ToString() 
End Sub 

C#代码:

private void MenuItem_Click(object sender, RoutedEventArgs e) 
{ 
    MenuItem menuItem = sender as MenuItem; 
    Me.cmb1.Text = menuItem.CommandParameter.ToString(); 
} 
+0

在C#这是'this'。 @voddy – XAMlMAX