在WPF中突出显示并获取对datagrid中的行的引用

时间:2015-06-06 17:32:34

标签: c# wpf datagrid

我是WPF的新手。我有一个UI屏幕,我在其上绑定并在Datagrid中显示load_event。 当用户点击一行时,我需要用蓝色突出显示它,然后获得所选行的处理程序。

我怎样才能做到这一点?请指教。

1 个答案:

答案 0 :(得分:2)

最简单的方法是将数据(数据源)绑定到DataGrid(UI)。 因此,您需要将SelectedItem属性绑定到C#代码以接收所有选定的数据。

样品:

<Grid>
    <DataGrid ItemsSource="{Binding ListOfEmployees}" SelectedItem="{Binding SelectedEmployee, Mode=TwoWay}" />
</Grid>

在下面的C#代码中,属性SelectedEmployee将包含用户选择的Employee对象(WPF自动将该行设置为蓝色)。

public partial class MainWindow : Window
{

    public MainWindow()
    {
        InitializeComponent();

        this.DataContext = new PageContext();
    }
}

public class PageContext
{
    private Employee _selectedEmployee;

    public PageContext()
    {
        this.ListOfEmployees = new ObservableCollection<Employee>();
        this.ListOfEmployees.Add(new Employee() { Name = "Voituron", Phone = "123.456.789" });
        this.ListOfEmployees.Add(new Employee() { Name = "Dubois", Phone = "147.258.369" });
    }

    public ObservableCollection<Employee> ListOfEmployees { get; set; }

    public Employee SelectedEmployee
    {
        get { return _selectedEmployee; }
        set
        {
            _selectedEmployee = value;
            Debugger.Break();
        }
    }
}

public class Employee
{
    public string Name { get; set; }
    public string Phone { get; set; }
}

blog上查找更多内容(注意:这篇文章是法语)