我有一个DataGrid,并且在DataGrid中列出了来自数据库的用户。 我想要的是,当我点击DataGrid中的成员时,打开一个新窗口,并向我显示成员数据(用户名,邮政编码,等等数据库中的内容)。 当我点击一行时,如何打开一个新窗口?
解决:
private void dg_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var windowToOpen = new UsersWindow();
windowToOpen.Show();
}
XAML:
<DataGrid x:Name="NameGrid" MouseLeftButtonDown="dg_MouseLeftButtonDown"/>
答案 0 :(得分:0)
您使用MVVM还是执行代码隐藏?
在任何情况下,您都应该能够收听selectedItemChanged并按照您的方式处理
修改强>
确定。从来没有尝试过这个... DataGrid具有SelectedItem属性。这为您提供了选择中的第一行(如果您有Multiselect)。
基本上你可以在你的Codebehind中做到:
private void Selector_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var selectedUser = this.theNameOfYourGrid.SelectedItem;
var windowToOpen = new Window();
/*
* Do what you want with your window
*
*
*/
windowToOpen.Show();
}
并在您的XAML中
<DataGrid SelectionChanged="Selector_OnSelectionChanged" x:Name="theNameOfYourGrid">
</DataGrid>
应该是