Я хочу связать содержимое Label
с SelectedItem
из 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
не меняется.
Что я должен сделать, чтобы привязать его к текущему SelectedItem
из DataGrid
?