1
레이아웃에 문제가 있습니다.wpf 트 리뷰 레이아웃
초기 창에는 모든 것이 예상대로입니다.
상위 또는 하위 항목 중 하나를 클릭은 모든 것이 오른쪽으로 정렬됩니다. 나는 그런 상황을 원하지 않는다.
아무도 나를 도울 수 : 여기에 스크린 샷입니까?
XAML 레이아웃 템플릿 :
'TextBlock의'스타일
<Style x:Key="textBlock" TargetType="{x:Type TextBlock}">
<Setter Property="FontFamily" Value="Verdana"></Setter>
<Setter Property="FontSize" Value="12"></Setter>
</Style>
항목 레이아웃 :
<HierarchicalDataTemplate
DataType="{x:Type models:EntityViewModel}" ItemsSource="{Binding Children}" >
<Grid Margin="0,0,3,0">
<TextBlock Style="{StaticResource textBlock}" TextWrapping="Wrap" Width="{Binding ActualWidth, ElementName=EntityTree}">
<Hyperlink NavigateUri="{Binding Url}" RequestNavigate="Hyperlink_RequestNavigate">
<TextBlock Text="{Binding ID}"></TextBlock>
</Hyperlink>
<TextBlock Text="{Binding TypeName}"></TextBlock>
<TextBlock Text="{Binding Explanation}"></TextBlock>
</TextBlock>
</Grid>
</HierarchicalDataTemplate>
부모 레이아웃 :
<HierarchicalDataTemplate
DataType="{x:Type models:ParentViewModel}" ItemsSource="{Binding Children}">
<Grid Margin="0,0,3,0">
<TextBlock Style="{StaticResource textBlock}" TextWrapping="Wrap" Width="{Binding ActualWidth, ElementName=EntityTree}" >
<TextBlock Text="{Binding ParentName}"/>
<Run Text=" kategorisinde toplam "></Run>
<TextBlock Text="{Binding ItemsCount}"></TextBlock>
<Run Text=" adet kayıt"></Run>
</TextBlock>
</Grid>
</HierarchicalDataTemplate>
아마도 EntityViewModel DataTemplate의 TextBlock 너비에 대한 바인딩 때문일 것입니다. EntityTree는 전체 TreeView의 이름입니다. TextBlock의 너비가 전체 TreeView보다 크게 두 번째 레벨에서 들여 쓰기되므로 TreeView가 전체 텍스트 블록을 보이게 만들고 오른쪽으로 스크롤하려고 시도합니다. 사용 가능한 너비보다 작거나 같은 첫 번째 방법으로 고정 너비를 설정하십시오. – JanW
훌륭한 설명에 감사드립니다. 그것은 합리적으로 보인다. 너비 속성을 제거하면 오른쪽 정렬 문제가 해결되었습니다. –
고맙습니다. 나는 답으로 표시해 드릴 수 있습니다. – JanW