WPF从DataGrid获取所选项目并打开一个新窗口

时间:2015-02-13 07:24:58

标签: wpf datagrid

我有一个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"/>

1 个答案:

答案 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>

应该是