我有一个视图(在MVVM中)有一些控件包括树视图。 ViewModel是数据上下文和模型,一切工作都很好,直到现在。 **我有两种情况: **视图控件显示/隐藏WPF MVVM
- 我希望我的视图显示一个ContextMenu对Treeview项目。
- 其他情况下,不应该对树视图项显示文本菜单
这可能与一个视图或应该有这个目的两种不同的看法,我个人的工作,如果我会更好有一个视图。
虚拟机和模型非常简单,只是具有视图的绑定属性。
View.xaml
<UserControl x:Class="SPM.SystemExplorer.View.SystemExplorerView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SPM.SystemExplorer.View"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
xmlns:viewModel="clr-namespace:SPM.SystemExplorer.ViewModel"
xmlns:classes="clr-namespace:SPM.SystemExplorer.Classes">
<UserControl.DataContext>
<viewModel:SystemExplorerViewVM></viewModel:SystemExplorerViewVM>
</UserControl.DataContext>
<Grid>
<StackPanel>
<Label Content="{Binding Test}"></Label>
<TreeView Grid.Row="1" ItemsSource="{Binding SystemProjects}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type classes:SystemProject}" ItemsSource="{Binding ParticipantProjects}">
<StackPanel Orientation="Horizontal">
<TreeViewItem Header="{Binding NameOfSystemProject}"></TreeViewItem>
<TreeViewItem Header="{Binding AuthorOfSystemProject}"></TreeViewItem>
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type classes:ParticipantProject}">
<StackPanel Orientation="Horizontal">
<TreeViewItem Header="{Binding NameOfParticipantProject}"></TreeViewItem>
<TreeViewItem Header="{Binding AuthorOfParticipantProject}"></TreeViewItem>
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
</StackPanel>
</Grid>
您可以设置SystemExplorerViewVM以“A”或“B”的属性和使用数据触发。 – mm8
请给我一个例子,写几行它,我是WPF的初学者。 – Smallestearth
我想我没有解释正确的, 我想说的是: 其实我有两种情况为我的看法。首先,如果我右击它,我想看到我的视图在树视图项上有一个contextmenu。第二种情况,我在树视图项目上有相同的视图,但没有上下文菜单。 – Smallestearth