正如您在下圖中看到的,您可以看到2個懸停狀態。這裏是XAMLMenuCollection綁定兩次MVVM +數據綁定子菜單項
<Menu ItemsSource="{Binding Data.MenuCollection}">
<Menu.ItemTemplate >
<DataTemplate DataType="MenuItem">
<MenuItem Header="{Binding Header}" Command="{Binding Command}" ItemsSource="{Binding Children}"/>
</DataTemplate>
</Menu.ItemTemplate>
</Menu>
數據的收集工作在標題上。但是我無法顯示子節點。
public void CreateTempMenuList()
{
MenuCollection = new ObservableCollection<MenuItem>()
{
new MenuItem()
{
Header = "File",
Children = new ObservableCollection<MenuItem>()
{
new MenuItem()
{
Header = "Exit"
}
}
}
};
}
MenuItem
這個類是我創建的東西。每個屬性都有一個叫做OnPropertiesChanged
函數的setter。如果需要,我可以添加該類,但是我非常確定這不是問題。
所以我的問題是。我如何擺脫'double' hover
。在圖片中你可以看到2 borders
。我徘徊的outer border
。懸停直到專注於別的東西。
我的第二個問題是我如何獲得子項目的工作? menuitem
標籤上的itemssource
可能是錯誤的,但它的全部我都能想到。
感謝您的快速回復。是的,我沒有綁定到系統MenuItem類,我已經建立了自己的類。謝謝:) –