有人能解释一下下面这行 XAML 代码吗?
DataContext="{Binding RelativeSource={RelativeSource Self}}"
这里提供了使用的简单示例。
如何用C#
代码替换该行?
有人能解释一下下面这行 XAML 代码吗?
DataContext="{Binding RelativeSource={RelativeSource Self}}"
这里提供了使用的简单示例。
如何用C#
代码替换该行?
这只是将 DataContext
属性设置为具有该属性的对象。代码等价于 this.DataContext = this;
编辑
DataContext
属性是在此对象及其子对象上发生的所有绑定所使用的上下文对象。如果你没有正确设置要绑定到的模型的 DataContext
,则所有绑定都将失败。
编辑2
以下是如何在代码后台中设置它(与您的示例匹配):
public partial class ListViewTest : Window
{
ObservableCollection<GameData> _GameCollection =
new ObservableCollection<GameData>();
public ListViewTest()
{
_GameCollection.Add(new GameData {
GameName = "World Of Warcraft",
Creator = "Blizzard",
Publisher = "Blizzard" });
_GameCollection.Add(new GameData {
GameName = "Halo",
Creator = "Bungie",
Publisher = "Microsoft" });
_GameCollection.Add(new GameData {
GameName = "Gears Of War",
Creator = "Epic",
Publisher = "Microsoft" });
InitializeComponent();
this.DataContext = this; //important part
}
public ObservableCollection<GameData> GameCollection
{ get { return _GameCollection; } }
private void AddRow_Click(object sender, RoutedEventArgs e)
{
_GameCollection.Add(new GameData {
GameName = "A New Game",
Creator = "A New Creator",
Publisher = "A New Publisher" });
}
}
Window
类的DataContext
属性设置为你的Window
类的实例即可。 - Dylan MeadormyTextBox.DataContext = myTextBox;