Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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
Wpf 如何将文本框文本绑定到';当前';收藏品_Wpf_Data Binding_Datagrid - Fatal编程技术网

Wpf 如何将文本框文本绑定到';当前';收藏品

Wpf 如何将文本框文本绑定到';当前';收藏品,wpf,data-binding,datagrid,Wpf,Data Binding,Datagrid,我是WPF的新手,整天都在努力解决这个问题: 我有一个包含六个公共属性的列表(阅读关于wpf仅绑定到公共属性的内容) 在我的主窗口中,我有两个控件;具有三列和三个文本框的数据网格。我希望将三个datagrid列数据绑定到列表的三个属性,并将列表的其余三个属性数据绑定到文本框(每个文本框一个属性)。datagrid数据绑定工作正常:myDataGrid.ItemsSource=myList; //具体的列绑定如预期的那样使用xaml Binding=“{Binding Title,Mode=Two

我是WPF的新手,整天都在努力解决这个问题:

我有一个包含六个公共属性的列表(阅读关于wpf仅绑定到公共属性的内容)

在我的主窗口中,我有两个控件;具有三列和三个文本框的数据网格。我希望将三个datagrid列数据绑定到列表的三个属性,并将列表的其余三个属性数据绑定到文本框(每个文本框一个属性)。datagrid数据绑定工作正常:
myDataGrid.ItemsSource=myList;
//具体的列绑定如预期的那样使用xaml
Binding=“{Binding Title,Mode=TwoWay}”

问题在于文本框。我希望文本框在基础列表中显示“当前项”,这意味着当用户选择不同的datagrid行时,文本框应该更改以显示“当前选定列表项”的数据绑定属性值。像这样简单地绑定texbox并不能完成任务:

Text="{Binding SomePropertyName}"
我已经读过关于使用CollectionViewSource以促进在xaml绑定中使用正斜杠的“当前项”指针的内容,但在这方面也没有运气


这很容易,但有一件事需要注意。默认情况下,您可以在
数据网格中选择多行,在这种情况下,文本框中只显示一个值。您可以通过在数据网格上设置
SelectionMode=“Single”
来更改此设置

<StackPanel>
    <DataGrid x:Name="PersonsGrid" ItemsSource="{Binding Persons}" AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridTextColumn Header="First name" Binding="{Binding FirstName}" />
            <DataGridTextColumn Header="Last name" Binding="{Binding LastName}" />
            <DataGridTextColumn Header="Age" Binding="{Binding Age}" />
        </DataGrid.Columns>
    </DataGrid>

    <TextBox Text="{Binding SelectedItem.Address, ElementName=PersonsGrid}" />
</StackPanel>


这是因为在我的示例中,
SelectedItem
的底层类型是
Person

谢谢Ondrej,非常感谢。也谢谢你的“选择模式”提示。@CoverG很高兴我能帮上忙。