[英]How do I set the ItemsSource of a DataGrid in XAML?
我想設置ItemsSource
一個財產DataGrid
命名dgIssueSummary
是一個ObservableCollection
命名IssueSummaryList
。 目前,當我在我的代碼隱藏中設置ItemsSource
屬性時,一切正常:
public partial class MainPage : UserControl
{
private ObservableCollection<IssueSummary> IssueSummaryList = new ObservableCollection<IssueSummary>
public MainPage()
{
InitializeComponent();
dgIssueSummary.ItemsSource = IssueSummaryList
}
}
但是,我寧願在XAML中設置ItemsSource
屬性,但我不能讓它工作。 這是我的XAML代碼:
<sdk:DataGrid x:Name="dgIssueSummary" AutoGenerateColumns="False"
ItemsSource="{Binding IssueSummaryList}" >
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Binding="{Binding ProblemType}" Header="Problem Type"/>
<sdk:DataGridTextColumn Binding="{Binding Count}" Header="Count"/>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
我需要做什么才能將ItemsSource
屬性設置為XAML中的IssueSummaryList
而不是C#?
您需要將“IssueSummaryList”設為屬性。 如果這樣做,您可以直接綁定它。 您無法通過Xaml綁定到私有字段。
您還需要將DataContext
設置為“ this
”(或使用其他方法來使其找到適當的實例)。
您的IssueSummaryList是私有的。 您需要使用get和set將其設為屬性
public ObservableCollection<IssueSummary> IssueSummaryList
{
get
{
// ...
}
}
XAML是正確的,所以問題必須在綁定中。
你是如何設置綁定的? 在最簡單的情況下,您使用以下代碼:
this.DataContext =此;
在Window_Load事件處理程序中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.