Oto mój kod:
<Menu>
<Menu.ItemsPanel>
<ItemsPanelTemplate >
<VirtualizingStackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</Menu.ItemsPanel>
<MenuItem Header="Level1 Test 1" >
<MenuItem Header="Level2 Test 1"/>
<MenuItem Header="Level2 Test 2"/>
<MenuItem Header="Level2 Test 3">
<MenuItem Header="Level3 1"/>
<MenuItem Header="Level3 2"/>
<MenuItem Header="Level3 3">
<MenuItem Header="Level4 1"/>
<MenuItem Header="Level4 2"/>
</MenuItem>
</MenuItem>
</MenuItem>
<MenuItem Header="Delete"/>
</Menu>
Obecnie, jak być może wiesz, najechanie kursorem na pozycje menu z elementami potomnymi otwiera podmenu wyświetlające te elementy podrzędne. Jak mogę zdobyć <MenuItem Header="Level2 Test3">
aby otworzyć tylko jego podmenu klikając na niego, a nie na najechaniu myszą? Czy jest jakiś sposób?
Odpowiedzi:
2 dla odpowiedzi № 1Myślę, że "IsMouseOver" jest tym, czego szukasz. Poniżej znajduje się to, na co patrzyłem, gdy wpadłem na podobny problem.