我是WPF
的新手。我有一个UI屏幕,我在其上绑定并在Datagrid
中显示load_event
。
当用户点击一行时,我需要用蓝色突出显示它,然后获得所选行的处理程序。
我怎样才能做到这一点?请指教。
答案 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上查找更多内容(注意:这篇文章是法语)