【发布时间】:2018-02-04 23:19:41
【问题描述】:
我是 wpf 的初学者,所以请耐心等待我:)
我在 MySql 数据库中存储了 40.000 篇文章,当我点击一个按钮时,我打开了一个加载这些文章的窗口,我就是这样做的:
/// <summary>
/// Interaction logic
/// </summary>
public partial class ArticlesAdd : Window
{
public ObservableCollection<MyArticles> articlesList = ObservableCollection<MyArticles>(ArticlesController.SelectAll());
public ArticlesAdd()
{
this.InitializeComponent();
// Setting source to my DATAGRID when this window is loaded/opened
dataGridMyArticles.ItemsSource = articlesList;
}
}
但我看到一些示例是直接在 DataGrid 控件上设置 ItemsSource,如下所示(IN XAML PART):
<DataGrid Name="dataGridMyArticles" ItemsSource="{Binding Source=articlesList}" AutoGenerateColumns="False">
但我不知道这是如何工作的以及应该如何实现,因为我使用的是dataGridMyArticles.ItemsSource = articlesList;
XAML 端的 ItemsSource="{Binding Source=articlesList}" 是否比我的绑定代码更快?
IsAsync=True 会让数据绑定更快/更快地打开窗口还是像那样?
那么如何在不使用代码的情况下将该列表绑定到我的DataGrid,并且这种方法是否比在我的Class 构造函数中设置DataGrid's 源更快..?
谢谢大家 干杯
【问题讨论】:
标签: c# mysql wpf xaml datagrid