其他分享
首页 > 其他分享> > CodeGo.net> WPF的DataGrid的当前项目绑定

CodeGo.net> WPF的DataGrid的当前项目绑定

作者:互联网

我想将Label的内容绑定到DataGrid的SelectedItem.

我以为“当前项目”绑定表达式可以工作,但不行.

我的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?

解决方法:

Label中的绑定独立于DataGrid的Data绑定而绑定到Data.尝试:

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

标签:selecteditem,binding,datagrid,wpf,c
来源: https://codeday.me/bug/20191210/2098820.html