1

我的布局有问题。

在初始窗口中,一切都按预期进行。

初始窗口

单击父项或子项之一时,所有内容都向右对齐。我不想要那种情况。这是截图:

单击父项

子项被点击

有人可以帮助我吗?

XAML布局模板:

“文本块”样式

 <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>
4

1 回答 1

1

这可能也是由于 EntityViewModel DataTemplate 中 TextBlock 的宽度的绑定。我假设,EntityTree 是整个 TreeView 的名称。您强制 TextBlock 的宽度大于整个 TreeView,因为它在第二级缩进,这会导致 TreeView 尝试使整个 Textblock 可见并强制向右滚动。尝试在第一种方法中设置固定宽度,小于或等于可用宽度

于 2012-09-25T07:27:23.473 回答