我試着去恢復,我點擊菜單項的名字,我總是會返回一個空字符串:廣東話恢復菜單項的名稱XAML點擊
private void MenuP_Click(object sender, RoutedEventArgs e)
{
MenuItem menu4 = e.OriginalSource as MenuItem;
string ss = menu4.Name; /// always empty. why?
}
的XAML:
Window.Resources>
<Style x:Key="ItemStyle" TargetType="MenuItem">
<EventSetter Event="MenuItem.Click" Handler="MenuP_Click"></EventSetter>
</Style>
<Style x:Key="CatStyle">
<Setter Property="MenuItem.ItemsSource" Value="{Binding XPath=submenu}"/>
<Setter Property="MenuItem.DisplayMemberPath" Value="@es"></Setter>
<Setter Property="MenuItem.ItemContainerStyle" Value="{StaticResource ItemStyle}"></Setter>
</Style>
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/> <ColumnDefinition Width="677*"/>
</Grid.ColumnDefinitions>
<Menu Name="MenuP" VerticalAlignment="Top" ItemsSource="{Binding Source={StaticResource datos}, XPath=//menues/Menux}" DisplayMemberPath="@es" ItemContainerStyle="{StaticResource CatStyle}">
</Grid>
menuitems.count始終爲0。 我如何知道用戶點擊了哪個menuItem?
在此先感謝您的幫助。要獲得點擊MenuItem
從sender
參數,而不是
步驟通過看什麼類型的e.OriginalSource實際上是。我想你可能不會把正確的東西投射到MenuItem上。 – jamesthollowell