dll의 리소스에서 적용된 스타일을 가진 창에 기본 TreeView가 있습니다. 스타일 dll은 두 가지 스타일을 전환 할 수 있습니다. dll에 TreeView 스타일이 없으면 TreeViewItems를 확장하고 다른 컨트롤의 스타일을 전환 할 수 있으며 TreeViewItems가 확장 된 상태로 유지됩니다. 그러나, TreeView에 대한 스타일을 추가하자 마자 스타일이 바뀌 자마자 확장 된 TreeViewItems가 축소됩니다.WPF TreeView 스타일 템플릿 스타일 스위치에서 IsExpanded 재설정
모든 멋진 애니메이션과 TreeViewItem 스타일이 문제를 추적하기 위해 제거되었습니다. 나머지 스타일은 간단합니다 :
<Style x:Key="{x:Type TreeView}" TargetType="{x:Type TreeView}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeView">
<Border Name="Border"
Background="Transparent"
BorderThickness="1"
CornerRadius="1">
<ItemsPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
모든 의견을 크게 기뻐할 것입니다. 나는 아이디어가 떨어졌다!
답변 해 주셔서 감사합니다. TreeView (내 질문에 표시된)에 대한 하나의 템플릿을 가지고 어떤 트리거 및 최소한의 스타일링. 나는 이전에 IsExpanded 속성을 갖고 있으며이 문제가 없었던 같은 방식으로 확장기 스타일을 지정했습니다. TreeView 자체의 한계입니까? –
ItemsPresenter를 재설정하지 않으려 고합니다. 그 나쁜 엉덩이가 아이템을 표현할 책임이 있고, 그것을 죽이면 모든 것이 손실됩니다. –
아이템 발표자는 위의 코드와 다르게 사용됩니까? 나는 스타일 템플릿 안에 있다는 점을 제외하고는 아무 것도하지 않습니다. –