如何在TreeView中为工具提示提供MaxWidth(或自定义样式)

时间:2020-01-30 17:49:45

标签: wpf xaml treeview

我有一个具有TreeView的ResourceDictionary。

在这里,我正在尝试为MainItemStyle的工具提示提供MaxWidth(因为绑定文本“ TxtDescription”很长),为此,我尝试为该工具提示提供模板,但已将其应用于基本TreeViewItem代替。

此外,我尝试仅将工具提示设置为TreeView标头项,但是我认为使用TreeView的结构是不可能的。

我的代码是这样的:

<ResourceDictionary>
<TreeView ItemsSource="{Binding MainItems, UpdateSourceTrigger=PropertyChanged}"
          ItemContainerStyle="{StaticResource MainItemStyle}">
        <TreeView.ItemTemplate>
          <HierarchicalDataTemplate ItemsSource="{Binding ChildList}" ItemTemplate="{StaticResource childTemplate}" ItemContainerStyle="{StaticResource ChildItemStyle}">           
          </HierarchicalDataTemplate>
        </TreeView.ItemTemplate>        
</TreeView>

<Style x:Key="basicStyle" TargetType="TreeViewItem" BasedOn="{StaticResource {x:Type TreeViewItem}}">
    <Setter Property="Margin" Value="0"/>
    <Setter Property="Padding" Value="2,2"/>    
    <Setter Property="SnapsToDevicePixels" Value="True"/>    
  </Style>

  <Style x:Key="ChildItemStyle" TargetType="TreeViewItem" BasedOn="{StaticResource basicStyle}">    
  </Style>

  <Style x:Key="MainItemStyle" TargetType="TreeViewItem" BasedOn="{StaticResource basicStyle}">
    <Setter Property="ToolTip" Value="{Binding TxtDescription}"/>    
  </Style>
</ResourceDictionary>

任何人都可以在这里为我提供工具提示的MaxWidth(或样式)的任何解决方案。多谢。

1 个答案:

答案 0 :(得分:0)

只需将ToolTip控件分配给TreeViewItem.ToolTip属性并对其进行自定义:

<Style x:Key="MainItemStyle" TargetType="TreeViewItem" BasedOn="{StaticResource basicStyle}">
  <Setter Property="ToolTip">
    <Setter.Value>
      <ToolTip Content="{Binding TxtDescription}" 
               MaxWidth="500" />    
    </Setter.Value>
  </Setter>
</Style>