我是XAML和Metro应用程序开发的新手。刚刚开始构建非常基本的Windows应用程序。
我在理解XAML绑定过程时遇到了问题,XAML绑定是如何发生的。
请帮帮我。
答案 0 :(得分:0)
XAML
中的绑定是一个重要主题。用两个词来表示:你可以设置DataContext
或DataSource
为你控制:
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<ComboBox x:Name="ComboBox1" ItemsSource="{Binding}"
Foreground="Black" FontSize="30" Height="50" Width="780"/>
</Grid>
在你的代码写:
public class Recording
{
public string Artist { get; set; }
public string Name { get; set; }
public DateTime ReleaseDate { get; set; }
}
public ObservableCollection<Recording> MyMusic = new ObservableCollection<Recording>();
MyMusic.Add(new Recording("Chris Sells", "Chris Sells Live",
new DateTime(2008, 2, 5)));
MyMusic.Add(new Recording("Luka Abrus",
"The Road to Redmond", new DateTime(2007, 4, 3)));
MyMusic.Add(new Recording("Jim Hance",
"The Best of Jim Hance", new DateTime(2007, 2, 6)));
// Set the data context for the combo box.
ComboBox1.DataContext = MyMusic;
有关您可以在Data binding overview和Quickstart: Data binding to controls
中找到的绑定的更多信息答案 1 :(得分:0)
数据绑定窗口应用商店: - 考虑一个场景,其中您有一个JSON文件,并且您有客户的书面名称。现在店主要求你取得所有名字。而不是通过所有名称(txt文件)只需绑定所有名称显示它。
首先你需要什么?
1.文本文件/数据
2.讲述合同的课程
3.数据绑定编码。
我在Assets Folder中创建了一个Data.txt文件。
[
{"Name" : "Google" , "Surname" : "Inc."},
{"Name" : "Stack" , "Surname" : "overflow"}
]
2。步骤:我创建了一个类。 myData的
[DataContract]
class myData {
[DataMember]
public string Name { get; set; }
[DataMember]
public string Surname { get; set; }
}
此处[DataContract]表示您正在签订合同并发送给 客户端是您的系统(仅用于理解目的)。
步骤3:现在我已经创建了一个名为loadData()的方法,它将获得所有名称。
public async void loadData() {
ObservableCollection<string> n = new ObservableCollection<string>();
StorageFile sf = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(@"Assets\Data.txt");
var data = await FileIO.ReadTextAsync(sf);
DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(List<myData>));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(data));
List<myData> nm = (List<myData>)json.ReadObject(ms);
foreach (var item in nm)
{
n.Add(item.Name);
}
names.DataContext = n;
}
现在我在Submit / button click上调用了这个loadData()方法。 我希望现在你很清楚:)。 谢谢&amp;的问候,