Wpf 树状视图布局
我对布局有问题 在初始窗口中,一切都如预期的那样 单击某个父项或子项时,所有内容都向右对齐。我不希望出现这种情况。以下是截图: 有人能帮我吗 XAML布局模板: “文本块”样式Wpf 树状视图布局,wpf,layout,treeview,Wpf,Layout,Treeview,我对布局有问题 在初始窗口中,一切都如预期的那样 单击某个父项或子项时,所有内容都向右对齐。我不希望出现这种情况。以下是截图: 有人能帮我吗 XAML布局模板: “文本块”样式 <Style x:Key="textBlock" TargetType="{x:Type TextBlock}"> <Setter Property="FontFamily" Value="Verdana"></Setter>
<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数据模板中文本块宽度的绑定造成的。我假设EntityTree是整个TreeView的名称。您强制TextBlock的宽度大于整个TreeView,因为它在第二级缩进,这会导致TreeView尝试使整个TextBlock可见并强制向右滚动。尝试在第一种方法中设置固定宽度,该宽度小于或等于可用宽度,这可能也是由于EntityViewModel数据模板中文本块宽度的绑定所致。我假设EntityTree是整个TreeView的名称。您强制TextBlock的宽度大于整个TreeView,因为它在第二级缩进,这会导致TreeView尝试使整个TextBlock可见并强制向右滚动。尝试在第一种方法中设置固定宽度,该宽度小于或等于可用宽度,这可能也是由于EntityViewModel数据模板中文本块宽度的绑定所致。我假设EntityTree是整个TreeView的名称。您强制TextBlock的宽度大于整个TreeView,因为它在第二级缩进,这会导致TreeView尝试使整个TextBlock可见并强制向右滚动。尝试在第一种方法中设置固定宽度,该宽度小于或等于可用宽度。感谢您的精彩解释。这似乎是合理的。通过删除width属性,解决了右对齐问题。谢谢。如果您愿意,我将其作为答案发布。您也可以将其标记为答案。可能这也是由于EntityViewModel数据模板中文本块宽度的绑定所致。我假设EntityTree是整个TreeView的名称。您强制TextBlock的宽度大于整个TreeView,因为它在第二级缩进,这会导致TreeView尝试使整个TextBlock可见并强制向右滚动。尝试在第一种方法中设置固定宽度,该宽度小于或等于可用宽度。感谢您的精彩解释。这似乎是合理的。通过删除width属性,解决了右对齐问题。谢谢。我把它贴成了答案,如果你喜欢,你也可以把它标成答案。