2010-05-20 102 views
3

我想將Label的內容綁定到的SelectedItemwpf datagrid當前項目綁定

我認爲'當前項目'綁定表達式可以工作,但事實並非如此。

我的XAML代碼和代碼隱藏C#是象下面這樣:

<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目前的項目不會改變。 我應該怎麼做才能將它綁定到DataGrid的當前SelectedItem

回答

1

您的Label中的結合與Data結合,而與DataGridData的結合無關。嘗試:

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

試試這個

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