c# - Datagrid UI 虚拟化,最后一项最初显示在底部
问题描述
我有一个DataGrid
ids 以从上到下的升序显示。然而,最后一个 ids(hightest number) 必须最初显示,但仍然在DataGrid
. 这意味着您必须滚动到顶部才能显示旧 ID。
是否有可能在虚拟化仍然完好无损的情况下做到这一点?
我们正在使用 sfdatagrid(syncfusion)。但是,如果任何其他网格(包括 wpf 本机网格)涵盖了这个,我可以调查一下
解决方案
是否有可能在虚拟化仍然完好无损的情况下做到这一点?
是的。至少使用内置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 个容器:
推荐阅读
- r - Is there anyway to set the counties' border line colors in county_choropleth? Or any other alternative way?
- arrays - Swift ios Kanna 数据在 viewDidLoad 中第一次返回空
- java - java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory in OSGi
- ansible-awx - AWX 9.1.1:j2 render Playbook 运行成功,但不会将结果写入目录;从 CLI 运行正常
- python - 如何标记单词并将它们输入到另一个文件中?
- c++ - 错误:“getValue 的左侧必须有类/结构/联合”
- google-apps-script - 从 App 脚本使用 Measurement Protocol 向 Google Analytics 发出 POST 请求返回有效响应,但不起作用
- r - “类矩阵”的(精确)含义是什么?
- python - 使用枚举循环遍历多个列表?
- javascript - 在 div 中找到第一个 pre 标记,然后删除前导空格