wpf - 为选定的树视图项目显示不同的视图
问题描述
我正在尝试使用树视图构建帮助模块,目标是根据选定的树视图项目在红框中显示不同的视图。我该怎么做呢?
这是我拥有的所有代码:
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TreeView Margin="2" Width="250" HorizontalAlignment="Left" Height="auto" IsEnabled="True" FontSize="20">
<TreeViewItem Header="Introduction">
</TreeViewItem>
<TreeViewItem Header="Logging in" Margin="0,10,0,0">
<TreeViewItem Header="Changing Password" Margin="0,10,0,0"/>
</TreeViewItem>
<TreeViewItem Header="Home" Margin="0,10,0,0">
<TreeViewItem Header="Dashboard Elements" Margin="0,10,0,0"/>
<TreeViewItem Header="Parking Spots" Margin="0,10,0,0" />
<TreeViewItem Header="Docking Spots" Margin="0,10,0,0"/>
</TreeViewItem>
<TreeViewItem Header="Log Table" Margin="0,10,0,0"/>
<TreeViewItem Header="Security" Margin="0,10,0,0">
<TreeViewItem Header="Domestic Trucks" Margin="0,10,0,0"/>
<TreeViewItem Header="International Trucks" Margin="0,10,0,0"/>
</TreeViewItem>
<TreeViewItem Header="Administration" Margin="0,10,0,0" Visibility="{Binding Source={x:Static model:ViewModel.CurrentUser}, Path=IsAdmin, Converter={StaticResource My.Converter.BoolToHidden}}">
<TreeViewItem Header="Permissions" Margin="0,10,0,0"/>
<TreeViewItem Header="Editing a User" Margin="0,10,0,0"/>
<TreeViewItem Header="Adding a new company" Margin="0,10,0,0"/>
</TreeViewItem>
</TreeView>
</Grid>
解决方案
我真的认为这Control
没有达到你的预期。我宁愿使用 Markdown 创建帮助文件并将其保存到html
,pdf
或xps
. 当用户点击帮助按钮时,您可以打开此文档。IMO“硬编码”帮助模块不是一个好主意。
但是要以任何方式回答您的问题,您可以这样做:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TreeView x:Name="TreeView_TOC">
<TreeViewItem Header="Chapeter 1">
<TreeViewItem.Tag>
<TextBlock Text="Your Content goes here" />
</TreeViewItem.Tag>
</TreeViewItem>
</TreeView>
<ContentControl Grid.Column="1"
Content="{Binding ElementName=TreeView_TOC, Path=SelectedItem.Tag, Mode=OneWay}"/>
</Grid>
快乐记录
蒂姆
推荐阅读
- linux - logrotate:仅将新的压缩文件移动到 S3
- java - 我可以从一个 EntityManagerFactory 创建多个数据库连接吗?
- python - Paraview:在 python 中访问时间序列最小值/最大值
- android - 在 Android 中实现正则表达式的更好方法
- hibernate - Hibernate 会改变表本身吗?
- json - 从 CRM 集成到 Team Foundation Server 2018
- php - 使用 Phpspreadsheet 写 xlsx 的撇号问题
- active-directory - Active Directory 组列出成员用户,用户的条目未提及组
- python - 如何键入传递给 numpy.asarray 的变量以生成 2D 浮点数组?
- python - 如何使用两个不同函数的最终值在python中获取另一个值?