【发布时间】:2011-08-14 01:54:00
【问题描述】:
我已经设置了简单的场景来了解 XAML 中的数据绑定。经过一番思考,我得出结论,随着项目的进展,这将是必不可少的,所以我想学习一些基础知识并理解它。
我已经使用 DataContract 设置了 Simple OperationContract 以将数据从服务器推送到客户端:
[DataContract]
public class TestData : INotifyPropertyChanged
{
private string _testDataA;
[DataMember]
public string TestDataA
{
get { return _testDataA; }
set
{
_testDataA = value;
NotifyPropertyChanged("TestDataA");
}
}
private string _testDataB;
[DataMember]
public string TestDataB
{
get { return _testDataB; }
set
{
_testDataB = value;
NotifyPropertyChanged("TestDataA");
}
}
//public IDuplexClient RoomCallbackChannel { get; set; }
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
[OperationContract]
public ObservableCollection<TestData> PushTestDataToClient()
{
ObservableCollection<TestData> testData = new ObservableCollection<TestData>();
testData.Add(new TestData { TestDataA = "testDataA1", TestDataB = "testDataB1" });
..这里添加了一些无关紧要的数据..
return testData;
}
我已将简单的 DataGrid 添加到我的视图中。
而我在 C# 代码中这样做:
dataGrid1.ItemsSource = e.Result
完美运行。但这不是重点。我想用 XAML 绑定这些数据。
我尝试过:
dataGrid1.DataContext = e.Result
然后:
ItemsSource="{Binding TestDataA}"
以及我的 Model 类的其他组合。
这可能是一个愚蠢而简单的问题。但是我真的找不到任何关注最基本事物的简单示例。如何使用 XAML 绑定来自数据源的数据?它是如何工作的?如何公开该数据以在 XAML 中可用?
【问题讨论】:
标签: silverlight wcf xaml data-binding