4

ScrollViewer は、強制的に 0 オフセットに戻そうとしても、中央のオフセットに自動スクロールされますが、それでも正しく整列しません。

ここに画像の説明を入力

XAML の一部を次に示します。

<ScrollViewer x:Name="ScrollView" Grid.Row="0" Grid.Column="0" VerticalScrollBarVisibility="Auto">
        <TreeView Grid.ColumnSpan="2" Name="LOBSummaryTree" 
                      BorderThickness="0" DataContext="{Binding}">
        <TreeView.Resources>
            <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/>
            <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black" />
            <common:VisibilityConverter x:Key="VisibilityConverter"/>
            <common:TextStyleConverter x:Key="TextStyleConverter"/>
            <Style TargetType="{x:Type TreeViewItem}">
                <Setter Property="HeaderTemplate">
                    <Setter.Value>
                        <DataTemplate DataType="ContentPresenter">
                            <StackPanel x:Name="StackGroups" Orientation="Horizontal">
                                <TextBlock Name="txtBox" Tag="{Binding}">

そして、オフセットを強制するコードビハインドからの試み:

var scrollViewer = this.ScrollView;
if (scrollViewer != null)
{
   scrollViewer.InvalidateScrollInfo();
   scrollViewer.ScrollToHorizontalOffset(0);
   UpdateLayout();
}

ツリービューの初期ロード時に水平スコルバーの配置を左に強制したいのですが、何が間違っていますか?

4

0 に答える 0