Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以编程方式使用SelectedItem设置DataContext_C#_Wpf_Data Binding - Fatal编程技术网

C# 以编程方式使用SelectedItem设置DataContext

C# 以编程方式使用SelectedItem设置DataContext,c#,wpf,data-binding,C#,Wpf,Data Binding,如何以编程方式设置指定列表中选定项的DataContext 更简单地说,如何在代码中重现这种类型的绑定 <StackPanel> <ListBox Name="listBox1" /> <TextBox Name="textBox1" DataContext="{Binding ElementName=listBox1, Path=SelectedItem}" /> </StackPanel> 您需要为文本框设置一个名称,以便在代

如何以编程方式设置指定列表中选定项的DataContext

更简单地说,如何在代码中重现这种类型的绑定

<StackPanel>
    <ListBox Name="listBox1" />
    <TextBox Name="textBox1" DataContext="{Binding ElementName=listBox1, Path=SelectedItem}" />
</StackPanel>

您需要为文本框设置一个名称,以便在代码中引用它。然后您应该能够将一个对象分配给DataContext属性。您可以按如下方式编程创建数据绑定:

Binding binding = new Binding();
binding.ElementName = "listBox1";
binding.Path = new PropertyPath("SelectedItem");
binding.Mode = BindingMode.OneWay;
txtMyTextBox.SetBinding(TextBox.TextProperty, binding);

哇,有时候你只需要把问题拼出来,就能把额外的推动带到正确的方向上,嗯

此代码适用于我:

Binding b = new Binding();
b.Path = new PropertyPath(ListBox.SelectedItemProperty);
b.Source = listBox1;
textBox1.SetBinding(TextBox.DataContextProperty, b);

啊,谢谢。我自己刚想出来,但请投快速回答的一票!:)没问题…稍后进行一些编辑以获得正确的语法…呵呵。