Wpf 有没有办法将scrollviewer仅应用于treeview项目的一部分?
我有一个treeview,其中每个treeview项都包含一个信号和一个信号名 我希望在treeview项目中有一个展开的名称面板,但我希望scrollviewer只在包含treeview项目信号的面板的右侧部分滚动 创建自定义treeview类的唯一答案是什么?我最初的想法是将两个样式模板应用于每个treeview,这样expander按钮就位于一个treeview上,并使其中一个的扩展导致另一个的扩展。但最终我无法找到一种方法来使用触发器链接两个TreeView中的项,这样当一个项展开时,它的对应项也会展开 我还尝试过仅使用controltemplate对其进行自定义,但我觉得scrollviewer只需要放置在treeview项目的一部分,但是在treeview控件模板内无法将项目拆分到itemspresenter 创建自定义树视图是我的最佳选择吗 编辑: 像建议的那样创建一个itemtemplate将为每个项目的一部分创建一个单独的scrollviewer,所以我最终会得到6个小scrollviewer。但我要做的是在所有项目的右栏上应用scrollviewer。但是,要将scrollviewer应用于所有项目,我想我需要将它放在treeview控件模板中。但在treeviewcontroltemplate中,您只能访问itemspresenter:Wpf 有没有办法将scrollviewer仅应用于treeview项目的一部分?,wpf,xaml,treeview,Wpf,Xaml,Treeview,我有一个treeview,其中每个treeview项都包含一个信号和一个信号名 我希望在treeview项目中有一个展开的名称面板,但我希望scrollviewer只在包含treeview项目信号的面板的右侧部分滚动 创建自定义treeview类的唯一答案是什么?我最初的想法是将两个样式模板应用于每个treeview,这样expander按钮就位于一个treeview上,并使其中一个的扩展导致另一个的扩展。但最终我无法找到一种方法来使用触发器链接两个TreeView中的项,这样当一个项展开时,它
<ControlTemplate TargetType="TreeView">
<ScrollViewer
Focusable="False"
CanContentScroll="False"
Padding="4">
<StackPanel>
<wpfExp:SignalGraphAxis
PenColor="{Binding ElementName=GraphColorPicker, Path=SelectedColor, Mode=OneWay}"
Height="{Binding ElementName=graph_viewer, Path=GraphHeight, Mode=OneWay}"
PenWidth="{Binding ElementName=graph_viewer, Path=GraphPenWidth, Mode=OneWay}"
X_Scale="{Binding ElementName=graph_viewer, Path=X_Scale, Mode=OneWay}"
MaxTimeValue="{Binding ElementName=graph_viewer, Path=_SignalDataViewModel.MaxTimeValue, Mode=OneWay}"
/>
<ItemsPresenter />
</StackPanel>
</ScrollViewer>
</ControlTemplate>
您可以使用Itemtemplate来完成。这里有一个例子
<TreeView>
<TreeView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<ScrollViewer Grid.Column="0">
<!-- Your Signal data binding -->
</ScrollViewer>
<!-- Your Signalname data binding -->
</Grid>
</DataTemplate>
</TreeView.ItemTemplate>
</TreeView>
获得如果您要创建自定义的
树状视图
,您会使用它吗?我认为最好使用模板/样式
,并尽量做到这一点。现在许多开发人员为了一些更改创建了他们的UserControls
,但我认为这是错误的。我们需要使用模板
,或者对类数据使用数据模板
。不仅是我,亚当·内森在他的书《WPF4》中也发布了这本书。