0
我在我的WPF應用程序中有一個TreeView,我想顯示或隱藏上下文菜單,具體取決於treeviewItem的類型。 TreeView是數據綁定並使用HierarchicalDataTemplate填充。我可以禁用rightmouse事件代碼中的上下文菜單項。 但我希望在XAML中完成此操作。我試過的是;使用DataTrigger來隱藏/顯示WPF TreeView ContectMenu
<Grid.Resources>
<ContextMenu x:Key="MyContextMenu">
<MenuItem Name="Menu1" Header="Add " Click="AddNew_Click" ></MenuItem>
<MenuItem Name="Menu2" Header="" Click="Menu2_Click"></MenuItem>
</ContextMenu>
</Grid.Resources>
在一側的樹形目錄我有此代碼
<HierarchicalDataTemplate.Triggers>
<DataTrigger Binding="{Binding Document.DocumentType}" Value="P">
<Setter TargetName="icon" Property="Source" Value="../Images/P.png"/>
*<Setter Property="ContextMenu" Value="{StaticResource MyContextMenu}"/>*
</DataTrigger>
</HierarchicalDataTemplate.Triggers>
但是這給運行時錯誤「對象引用不設置到對象的實例」。當DocumentType爲'P'時,您可以看到圖像設置爲數據觸發器,並且只有當DocumentType爲'P'時隱藏/禁用上下文菜單,否則隱藏/禁用。 可以這樣做嗎?
你的問題不清楚。觸發器不工作?或崩潰來了是問題?什麼值爲空? –
觸發器正在工作,圖標圖像被應用。但是當我嘗試右鍵單擊treeviewitem以獲取上下文菜單時,它會給出該異常。 – voddy