2016-07-26 52 views
-2

如何传递值从一个窗口到另一个窗口进行重新加载窗口传递值从一种形式到另一种无需重新加载

private void btn1_Click(object sender, RoutedEventArgs e) 
{ 
    DateTime date = Convert.ToDateTime(lbl_date1.Content); 

    Vazhipadu_receipt obj = new Vazhipadu_receipt(date); 
    obj.ShowDialog(); 
    //this.Close(); 

} 

public Vazhipadu_receipt(DateTime date) 
{ 
    //DateTime date_v = date; 
    //string day = date_v.ToString("dd"); 

    //txt_mnth_v.Text = date.ToString("MM"); 
    //txt_year_v.Text = date.ToString("yyyy"); 
    InitializeComponent(); 
    //window_load(); 
    load(); 
    txt_day_v.Text = date.ToString("dd"); 
    txt_mnth_v.Text = date.ToString("MM"); 
    txt_year_v.Text = date.ToString("yyyy"); 
    // this.sessionNow = sessionNow; 
} 
+2

很高兴看到我的母语中的一些函数名称。请让你的问题更清楚,以便我们能够理解它。 – ViVi

+1

使用正确的数据绑定。这是WPF比传统Windows窗体的优势。数据绑定允许您在属性值更改后立即更新UI而无需重新加载。 Google提供相关教程。 –

+0

@kalidas你试过了什么? – AnjumSKhan

回答

0

请使用MVVM模式它不需要重新加载控件 ,如果你想要在加载新窗口后将数据从一个页面传递到另一个需要使用的委托,事件,操作相同有很多选项可用于WPF/C#

我正在考虑你有一个主页和从那里你试图打开新窗口(Vazhipadu_receipt)

在这种情况下,你需要按照以下步骤 首先创建委托和事件像下面,当你需要传似值

public delegate void ChildControlDelegate(bool IsVisible);//Delegate with Parameter which value you need to pass 


public event ChildControlDelegate GetDataFromChild;//Event to execute 

然后抬起事件下面

if (GetDataFromChild != null) 
     { 
      GetDataFromChild(true); 
     } 

然后在另一页面您需要注册如下事件

usrcntrleStatement obj = new usrcntrleStatement(pnsnLoginmodel); 
obj.GetDataFromChild += Obj_GetDataFromChild; 

并创建新的Meth od价值捕捉

private void Obj_GetDataFromChild(bool IsVisible) 
    { 
     if (IsVisible) 
      LoadingGrid.Visibility = Visibility.Visible; 
     else 
      LoadingGrid.Visibility = Visibility.Collapsed; 
    } 
相关问题