私はMVVMを使用しています.プロパティInputTemplatesにxmlノードのリストがあります。ビューモデルからリストの項目を選択すると、リストが自動的に下にスクロールされるようにします。私は、ビューモデルでプロパティ「SelectedItem」を使用する必要があることを知っています。
<Border BorderBrush="{StaticResource BorderBrush}"
IsEnabled="{Binding Path=InputTemplateBorderEnabled}"
BorderThickness="2" CornerRadius="5" Canvas.Left="1" Canvas.Top="84" Height="240" Name="border7" Width="432" >
<HeaderedContentControl
Content="{Binding Path=InputTemplates,Mode=OneTime}"
Header="{Binding Path=INTemplateLabel}"
ContentTemplate="{StaticResource FileTabTemplate}"
Style="{StaticResource MainHCCStyle}" Width="420" Height="237" />
</Border>
<DataTemplate x:Key="FileTabTemplate">
<st:ScrollableTabControl Background="#FFF0F9F8"
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource FileTabItemTemplate}"
Margin="1">
</st:ScrollableTabControl>
</DataTemplate>
<DataTemplate x:Key="FileTabItemTemplate" >
<DockPanel>
<TextBlock Name="textBlock" Text="{Binding Path=Keyword}" ToolTip="{Binding Path=FileName}" FontFamily="Microsoft Sans Serif" FontSize="10" TextWrapping="NoWrap"/>
</DockPanel>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsSelected,RelativeSource={RelativeSource TemplatedParent}}" Value="True">
<Setter TargetName="textBlock" Property="Foreground" Value="Indigo"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
ObservableCollection<CommonResource.ViewModel.FileTemplateViewModel> inputTemplates;
foreach (XMLTemplateViewModel xmlvm in inputTemplates)
{
list = xmlvm.XMlRootNodes[iSearchRootNode];
list.SelectedItem = MyList[iSelectionIndex];// MyList is a list of few items TreeViewWithIcons
}
list.SelectedItem を設定すると、自動的に下にスクロールした後に、選択した項目が画面に表示されるはずです。これにはイベントを使用する必要がありますか? プロパティ「SelectedItem」のコードも提供してください。