如何在XAML中设置DataGrid的ItemsSource?

时间:2010-06-14 18:22:56

标签: c# .net silverlight data-binding xaml

我正在尝试将名为ItemsSource的{​​{1}}的{​​{1}}属性设置为名为DataGrid的{​​{1}}。目前,当我在代码隐藏中设置dgIssueSummary属性时,一切正常:

ObservableCollection

但是,我宁愿在XAML中设置IssueSummaryList属性,但我无法让它工作。这是我的XAML代码:

ItemsSource

在XAML而不是C#中将public partial class MainPage : UserControl { private ObservableCollection<IssueSummary> IssueSummaryList = new ObservableCollection<IssueSummary> public MainPage() { InitializeComponent(); dgIssueSummary.ItemsSource = IssueSummaryList } } 属性设置为ItemsSource需要做什么?

3 个答案:

答案 0 :(得分:3)

您需要将“IssueSummaryList”设为属性。如果这样做,您可以直接绑定它。您无法通过Xaml绑定到私有字段。

您还需要将DataContext设置为“this”(或使用其他方法让它找到合适的实例)。

答案 1 :(得分:1)

您的IssueSummaryList是私有的。您需要使用get和set

将其设为属性
public ObservableCollection<IssueSummary> IssueSummaryList 
{
     get
     {
        // ...
     }
}

答案 2 :(得分:1)

XAML是正确的,所以问题必须在Binding中。

  • ObservableCollection是否作为属性公开?
  • 你是如何设置绑定的?在最简单的情况下,您使用如下代码:

    this.DataContext =此;

Window_Load事件处理程序中的