UserControl DataGrid
XAML:
<DataGrid x:Name="NamingConventionDataGrid" Width="{Binding ElementName=toolbar, Path=ActualWidth}" MinHeight="100"
HorizontalAlignment="Left" DockPanel.Dock="Bottom"
VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="auto"
CanUserResizeRows="False" CanUserAddRows="False" CanUserSortColumns="True" CanUserDeleteRows="False"
CanUserReorderColumns="False" CanUserResizeColumns="False" Background="White" BorderThickness="1"
VerticalGridLinesBrush="{StaticResource RowGrayBrush}" HorizontalGridLinesBrush="{StaticResource RowGrayBrush}"
RowBackground="White" AlternatingRowBackground="{StaticResource RowGrayBrush}" AlternationCount="2"
ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}"
SelectedItem="{Binding SelectedName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
AutoGenerateColumns="False" SelectionMode="Single" SelectionUnit="FullRow"
RowHeaderWidth="15" RowHeaderStyle="{StaticResource DataGridRowHeaderStyle}"
ItemsSource="{Binding ReferenceValues, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
MaxHeight="230" ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Auto" >
ViewModelコード:
ReferenceValues = tempRefs;
SelectedName = ReferenceValues.FirstOrDefault();
_view.NamingConventionDataGrid.SelectedItem = SelectedName;
_view.NamingConventionDataGrid.UpdateLayout();
_view.NamingConventionDataGrid.ScrollIntoView(SelectedName);
オブジェクト{Binding}を使用してを呼び出すScrollIntoView()
と、SelectedItem
オブジェクトが選択されますが(WPFアプリケーションの他のものが変更されるため、これはわかります)、オブジェクトがある場所までスクロールせず、SelectedItem
オブジェクトは次のように強調表示されません。をクリックしますDataGrid
。SelectedItem
ある場所までスクロールし、ユーザーがアイテムまでスクロールして行をクリックしたかのように強調表示できるコードがどこかにありませんか?