4
我有一些ContextMenu與一些menuItems。 其中一個menuItem是「添加項目...」。當用戶選擇這個項目時,他應該看到具有可用項目列表的子菜單;ContextMenu項目可見性
這裏是我的ContextMenu的描述:
- 添加項目
- 項目1
- 項目2
- 項目3
- 項目4
- 刪除
- 複製
的 '添加項目' 的的ItemsSource菜單項被綁定到一些觀察到的集合。 Collecion中的每個模型都有'Name'和'IsEnabled'(我有將bool轉換爲可見性的轉換器)。一切正常,除了'IsEnable'= false的項目不可見,但我可以看到有空間。 例如:讓說項目3具有IsEnable =假:
添加項目
- 項目1
項目2
項目4
我的bool2Vis轉換器在錯誤值的情況下返回'摺疊'。
Whay我做錯了?
這裏是文本菜單代碼:
<ContextMenu x:Key="mainContextMenu" DataContext="{Binding Source={x:Static fw:UIMainManager.Instance},Path=layoutManager}">
<MenuItem Header="Add Item" Name="addItemMenu" ItemsSource="{Binding ControlBoxItems}" >
<MenuItem.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding ControlName}" Visibility="{Binding IsEnabled,Converter={StaticResource boolToVisibilityConverter}}"
Command="{Binding Source={x:Static fw:ApplicationCommands.AddControlToScene}}" CommandParameter="{Binding}"/>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
<MenuItem Header="Copy" Command="{Binding Source={x:Static fw:ApplicationCommands.Copy}}" />
<MenuItem Header="Paste" Command="{Binding Source={x:Static fw:ApplicationCommands.Paste}}" />
<MenuItem Header="Cut" Command="{Binding Source={x:Static fw:ApplicationCommands.Cut}}" />
<MenuItem Header="Duplicated" Command="{Binding Source={x:Static fw:ApplicationCommands.DuplicateControl}}" />
<MenuItem Header="Delete" Command="{Binding Source={x:Static fw:ApplicationCommands.DeleteControl}}" />
</ContextMenu>
謝謝!這解決了這個問題 – leonnoah