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 に答える