gridview中嵌套button控件获取值

private   void  btn_Click( object  sender, EventArgs e)
       {
         Button btn = (Button)sender;
         GridViewRow gvr = (GridViewRow)btn.Parent.Parent;
          string  pk = GridView1.DataKeys[gvr.RowIndex].Value.ToString();
 
          this .Label1.Text = pk;}
private void Delete_Click(object sender, RoutedEventArgs e)
{
    var num = (sender as Button).Tag.ToString();
    //从数据集中删除目标数据
}
private void edit_Click(object sender, RoutedEventArgs e)
       {
           //string str = (grid_xm.Columns[1].GetCellContent(grid_xm.Items[1]) as TextBlock).Text;


           DataRowView c = (DataRowView)grid_xm.SelectedItem;
           string result = c["XmName"].ToString();
           //var mySelectedElement = (gcxmZD)grid_xm.SelectedItem;


           MessageBox.Show(result, "提示", MessageBoxButton.OK);
       }
Button btn = sender as Button;
    if (btn != null)
    {
        int id = Convert.ToInt32(btn.Tag);
    }

    //DataRowView c = (DataRowView)grid_xm.SelectedItem; 
    //string result = c["RoomTypeID"].ToString();

    RoomTypeZD c = (RoomTypeZD)grid_xm.SelectedItem;
    string result = c.RoomTypeID.ToString();