2014-04-03 213 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