0

我的父视图中有一个数据网格。

当我在网格中选择一个项目时,

  1. 我想打开一个子窗口

  2. 并将选定的项目值传递给子窗口

  3. 我需要根据所选值提交更改。

我正在修改以下代码,即我需要传输到子窗口的点击事件。

我可以从父视图继承域数据源吗?

    private void ApproveCmd_Click(object sender, RoutedEventArgs e)
    {
        PA_Request selReq =(PA_Request) this.onticPMA_RequestRadGridView.SelectedItem;
        if (selReq != null)
        {
            ((PA_Request)this.PA_RequestRadGridView.SelectedItem).STATUS = "Approved";

            this.PA_RequestDomainDataSource.SubmitChanges();



        }
    }

    private void DissaproveCmd_Click(object sender, RoutedEventArgs e)
    {
        PA_Request selReq = (PA_Request)this.PA_RequestRadGridView.SelectedItem;
        if (selReq != null)
        {
            ((PA_Request)this.PA_RequestRadGridView.SelectedItem).STATUS = "Disapproved";

            this.PA_RequestDomainDataSource.SubmitChanges();


        }
    }

    private void ApplyCmd_Click(object sender, RoutedEventArgs e)
    {
        PA_Request selReq = (PA_Request)this.PA_RequestRadGridView.SelectedItem;
        if (selReq != null)
        {
            ((PA_Request)this.PA_RequestRadGridView.SelectedItem).STATUS = "Applied";

            this.PA_RequestDomainDataSource.SubmitChanges();

        }
4

1 回答 1

0

好的,假设网格中有 10 个元素。当您单击任何项​​目时,会打开一个事件,例如 ApproveCmd_Click。您需要先像这样检索发件人。

private void ApproveCmd_Click(object sender, RoutedEventArgs e) 
{
  var senderListBox = sender as ListBox; (Or any type you want)
  var senderListBoxItem = senderListBox as senderListBoxItem;
  string data = senderListBoxItem.Content;
  //Now you have sender. 
  // Pass sender through constructor of the window
  //Say you need to pass a string Create 

  var chieldWindow = new ChieldWindow(data);
}

在主窗口

class ChieldWindow :Window
{
   ChieldWindow(string input)
   {
      \\You got the data
   }
}

让我知道

于 2012-02-29T05:18:54.480 回答