1
我有一個WPF窗口上的對象列表,所有對象都有一個上下文菜單,允許用戶將項目複製或移動到不同的面板中(所以上下文菜單的ItemsSource是該列表的面板,以及「複製」和「移動」是子菜單項)。但是,我在對象中定義了一個「CanCopy」屬性,用於確定是否可以實際複製對象。如何根據此屬性的值顯示/隱藏此MenuItem?我的問題似乎是在定義這個變量附加級別的MenuItems。在MenuItem ItemTemplate中定義另一個級別的菜單項
一開始我嘗試這樣的事情,但顯然它不完全是我要找的,因爲這雙打的PanelName菜單項中兩個菜單項的容器:
<MenuItem Header="Panels..." ItemsSource="{Binding PanelsList}">
<MenuItem.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding PanelName}">
<MenuItem Header="Copy" Visibility="{Binding CanCopy,Converter={StaticResource BoolToHiddenConverter}}"/>
<MenuItem Header="Move"/>
</MenuItem>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
建議?
謝謝!我沒有意識到你可以定義像這樣的項目模板...去顯示我是多少WPF初學者:) –
不是問題:) –
剛剛有機會嘗試了這一點,而這實際上不是一個'工作(糟糕,本來應該先試試這個)。我收到「使用ItemsSource之前項目集合必須爲空」消息。還有其他建議嗎? –