Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGrid.ScrollIntoView()无法使用DataGridTemplateColumn和MVVM_C#_Wpf_Datagrid_Scroll_Selecteditem - Fatal编程技术网

C# DataGrid.ScrollIntoView()无法使用DataGridTemplateColumn和MVVM

C# DataGrid.ScrollIntoView()无法使用DataGridTemplateColumn和MVVM,c#,wpf,datagrid,scroll,selecteditem,C#,Wpf,Datagrid,Scroll,Selecteditem,UserControlDataGridXAML: <DataGrid x:Name="NamingConventionDataGrid" Width="{Binding ElementName=toolbar, Path=ActualWidth}" MinHeight="100" HorizontalAlignment="Left" DockPanel.Dock="Bottom" VerticalScrollBarVisibility="Auto" Horizontal

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

当我使用
SelectedItem
对象{Binding}调用
ScrollIntoView()
时,它会选择对象(我知道这是因为WPF应用程序上的其他内容会发生变化),但它不会滚动到对象所在的位置,
SelectedItem
对象不会像单击
DataGrid
时那样高亮显示。我是否遗漏了一些代码?在这些代码中,我可以滚动到
SelectedItem
所在的位置,并将其高亮显示,就像用户滚动到该项目并单击该行一样?

我认为问题在于DataGrid只为可见的项目创建容器,并且在每个方向都创建了一些容器

尝试如下设置DataGrid的IsVirtualization属性:

VirtualizingStackPanel.IsVirtualizing="False" 

在我这么做之前,我在支持多选和滚动方面也遇到过类似的问题。

我认为问题是因为DataGrid只为那些可见的项目创建容器,并且在每个方向都创建了一些容器

尝试如下设置DataGrid的IsVirtualization属性:

VirtualizingStackPanel.IsVirtualizing="False" 

在我这么做之前,我在支持多选和滚动方面遇到了类似的问题。

我忘了从
\u视图设置
绑定
对象以映射到
用户控件

一旦我添加了下面的代码,一切又开始工作了

 model._view = _view.NamingConventionControl;

我忘了从
\u视图
对象设置
绑定
以映射到
用户控件

一旦我添加了下面的代码,一切又开始工作了

 model._view = _view.NamingConventionControl;

投票支持有用性,但这不是我问题的根源。:)投票支持有用性,但这不是我问题的根源。:)