wpf datagrid当前项绑定

时间:2010-05-20 17:37:35

标签: c# wpf datagrid binding selecteditem

我想将Label的内容绑定到SelectedItem的{​​{1}}。

我认为'当前项'绑定表达式可以正常工作,但事实并非如此。

我的xaml代码和代码隐藏c#如下所示:

DataGrid
<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="512" Width="847">
    <DockPanel LastChildFill="True">
        <Label Content="{Binding Data/colA}" DockPanel.Dock="Top" Height="30"/>
        <DataGrid ItemsSource="{Binding Data}"></DataGrid>
    </DockPanel>
</Window>

标签显示 namespace WpfApplication2 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.DataContext = new MyData(); } } public class MyData { DataTable data; public MyData() { data = new DataTable(); data.Columns.Add("colA"); data.Columns.Add("colB"); data.Rows.Add("aa", 1); data.Rows.Add("bb", 2); } public DataTable Data { get { return data; } } } } 的第一项,当我在DataTable上选择其他项目时,标签不会更改。似乎DataGrid的当前项目没有变化。 我该怎么做才能将其绑定到DataView的当前SelectedItem

2 个答案:

答案 0 :(得分:2)

试试这个

<Label Content = "{Binding ElementName = DataGridName, Path = SelectedItem}"/>

答案 1 :(得分:1)

Label中的约束绑定到Data,与DataGridData的绑定无关。尝试:

<Label Content="{Binding SelectedValue, ElementName=TheGrid}" />
<DataGrid x:Name="TheGrid" ItemsSource="{Binding Data}" />