이번에는 제 질문은 소리가 나는 것처럼 간단합니다 ... WPF로 마무리 할 텍스트를 얻으려면 TreeViewItem
?WPF TreeViewItem에서 텍스트 줄 바꾸기를 만드는 방법은 무엇입니까?
TextBlock
이 하나만있는 간단한 HierarchicalDataTemplate
이 있습니다.
<TextBlock Text="{Binding Value}" TextWrapping="Wrap" />
텍스트가 줄 바꿈되지 않습니다.
은 내가TreeView
의
ActualWidth
에
TextBlock
의
Width
바인딩했지만, 그 텍스트 랩을 만드는 있지만
TreeView
이
Padding
을 가지고 때문에
TreeViewItem
의
Width
은
TreeView
에 맞지 않습니다.
TreeViewItem
의
ActualWidth
에 바인딩하면 (놀랄 일도없이) 동일한 효과가 나타납니다. 이것에 대한 또 다른 단점은 작은 텍스트가있는 항목조차도
TreeView
범위를 벗어납니다.
<TextBlock Text="{Binding Value}" TextWrapping="Wrap" Width="{Binding ActualWidth,
ElementName=TreeView}" />
는 확실히 나는 그것이 자동으로 모르는 믿을 수 없어 ... 어떻게 든
TreeView
의 경계의
TreeViewItem
을 알리는 것처럼, 더 나은 방법이 있어야합니다. 하지만 어떻게해야합니까? HB의 대답에
UPDATE >>>
덕분에, 나는 그가 ControlTemplate
에서 언급 한 Bd
Border
에 2로 Grid.ColumnSpan
을 변경 관리 및 텍스트가 지금 잘 랩 있도록 너비를 설정 . 문제는 전폭 항목을 원하지 않는 다른 TreeView
에 다른 TreeViewItem
에 대해이 ControlTemplate
을 사용하고 있다는 것입니다.
내가 생각해 낸 해결책은 간단합니다. 그래서 같은 ControlTemplate
에 Grid.ColumnSpan
속성에 TreeViewItem.Tag
값을 결합했다 :
<Border Grid.ColumnSpan="{Binding Tag, RelativeSource={RelativeSource TemplatedParent}}"
Name="Bd" Grid.Column="1" ... />
이 날 변경할 수 있습니다 Grid.ColumnSpan
따라서 전체 폭에 중 2 TreeViewItem.Tag
값을 설정하여 TreeViewItem
의 일반 폭 행동 또는 1입니다.
는 일부 XAML을 게시 할 수 있을까? –