1 回答
TA贡献1797条经验 获得超6个赞
是否可以在虚拟化仍然完好无损的情况下做到这一点?
是的。至少使用内置DataGrid控件。这只是在创建任何容器之前滚动到底部的问题。请参考以下示例代码:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
numberGrid.ItemsSource = Enumerable.Range(1, 100);
numberGrid.ScrollIntoView(numberGrid.Items[numberGrid.Items.Count - 1]);
}
int n = 0;
private void DataGridRow_Loaded(object sender, RoutedEventArgs e)
{
txt.Text = (n++).ToString();
}
}
XAML:
<DataGrid x:Name="dg" Height="200">
<DataGrid.ItemContainerStyle>
<Style TargetType="DataGridRow">
<EventSetter Event="Loaded" Handler="DataGridRow_Loaded" />
</Style>
</DataGrid.ItemContainerStyle>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding}" />
</DataGrid.Columns>
</DataGrid>
<TextBlock x:Name="txt" />
可视化树中只加载了 11 个容器:
- 1 回答
- 0 关注
- 206 浏览
添加回答
举报