TreeView TreeViewItem 设置展开IsExpanded后 样式丢失

原方式

  <TreeView Grid.Row="1" Grid.Column="0" ItemsSource="{Binding PermissionsDtos}"  >
      <TreeView.ItemTemplate >
          <HierarchicalDataTemplate ItemsSource="{Binding Children}">
              <Grid>
                  <Grid.ColumnDefinitions>
                 
                      <ColumnDefinition></ColumnDefinition>
                  </Grid.ColumnDefinitions>
            
                  <TextBlock Grid.Column="1" Text="{Binding Permission_Name}"></TextBlock>
              </Grid>
          </HierarchicalDataTemplate>
      </TreeView.ItemTemplate>
      <TreeView.ItemContainerStyle>
          <Style TargetType="TreeViewItem" >
              <Setter Property="IsExpanded" Value="True"></Setter>
          </Style>
      </TreeView.ItemContainerStyle>
  </TreeView>

 

丢失样式

 

解决方式 

BasedOn="{StaticResource {x:Type TreeViewItem}}"
  <TreeView Grid.Row="1" Grid.Column="0" ItemsSource="{Binding PermissionsDtos}"  >
      <TreeView.ItemTemplate >
          <HierarchicalDataTemplate ItemsSource="{Binding Children}">
              <Grid>
                  <Grid.ColumnDefinitions>
                 
                      <ColumnDefinition></ColumnDefinition>
                  </Grid.ColumnDefinitions>
            
                  <TextBlock Grid.Column="1" Text="{Binding Permission_Name}"></TextBlock>
              </Grid>
          </HierarchicalDataTemplate>
      </TreeView.ItemTemplate>
      <TreeView.ItemContainerStyle>
          <Style TargetType="TreeViewItem"  BasedOn="{StaticResource {x:Type TreeViewItem}}">
              <Setter Property="IsExpanded" Value="True"></Setter>
          </Style>
      </TreeView.ItemContainerStyle>
  </TreeView>

效果,选中的样式还有

 

posted @ 2025-06-07 09:25  JohnnyLei  阅读(12)  评论(0)    收藏  举报