1

レイアウトに問題があります。

最初のウィンドウでは、すべてが期待どおりです。

初期ウィンドウ

親または子アイテムの1つをクリックすると、すべてが右揃えになります。私はそのような状況を望んでいません。スクリーンショットは次のとおりです。

親アイテムがクリックされる

子アイテムがクリックされます

誰か助けてもらえますか?

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

1 に答える 1

1

おそらくこれは、EntityViewModelDataTemplateのTextBlockの幅のバインドも原因です。EntityTreeはTreeView全体の名前だと思います。TextBlockの幅をTreeView全体よりも大きくするように強制すると、2番目のレベルでインデントされるため、TreeViewはTextblock全体を表示可能にし、右へのスクロールを強制しようとします。最初のアプローチで固定幅を設定してみてください。これは、使用可能な幅以下です。

于 2012-09-25T07:27:23.473 に答える