C# 创建带有WPF节的选项卡式侧栏
我正在尝试创建一个带有部分的选项卡式侧栏,如WPF中的以下内容。我考虑过几种方法,但有没有更简单、更优雅的方法呢 方法1:ListBox 使用C# 创建带有WPF节的选项卡式侧栏,c#,.net,wpf,user-controls,controls,C#,.net,Wpf,User Controls,Controls,我正在尝试创建一个带有部分的选项卡式侧栏,如WPF中的以下内容。我考虑过几种方法,但有没有更简单、更优雅的方法呢 方法1:ListBox 使用列表框并将SelectedItem绑定到右侧内容控件绑定到的值。为了区分标题和节,我使用了DataTemplate选择器 方法2:单选按钮/复选框/切换按钮 使用单选按钮,我将所选项目绑定到内容控件。但是,由于WPF错误,我将不得不使用值转换器将它们链接在一起 在这上面再加一点样式,我认为它可以很好地工作 <TabControl Tab
列表框
并将SelectedItem绑定到右侧内容控件绑定到的值。为了区分标题和节,我使用了DataTemplate选择器
方法2:单选按钮/复选框/切换按钮 使用单选按钮,我将所选项目绑定到内容控件。但是,由于WPF错误,我将不得不使用值转换器将它们链接在一起
在这上面再加一点样式,我认为它可以很好地工作
<TabControl TabStripPlacement="Left">
<TabControl.Resources>
<Style TargetType="TabItem" x:Key="SideBarSectionStyle">
<Setter Property="IsEnabled" Value="False" />
<Setter Property="FontSize" Value="16" />
<Setter Property="Foreground" Value="LightGreen" />
</Style>
</TabControl.Resources>
<TabItem Header="Section A" Style="{StaticResource SideBarSectionStyle}" />
<TabItem Header="Tab Item 1" IsSelected="True" />
<TabItem Header="Tab Item 2" />
<TabItem Header="Tab Item 3" />
<TabItem Header="Tab Item 4" />
<TabItem Header="Tab Item 5" />
<TabItem Header="Section B" Style="{StaticResource SideBarSectionStyle}" />
<TabItem Header="Tab Item 6" />
<TabItem Header="Tab Item 7" />
<TabItem Header="Tab Item 8" />
<TabItem Header="Tab Item 9" />
</TabControl>
这里还有一些想法:
如果你的边栏是分层的,为什么不在Approach 1中使用TreeView而不是ListBox?你能禁用TreeView的展开/折叠吗?为什么我没有想到