2017-04-20 134 views
2

修改用戶控制屬性的值我有以下用戶控制從另一個窗口

public partial class LayoutWindow : UserControl 
{ 
.... 
} 

該用戶控制我有一個按鈕以打開另一個窗口呼叫PopUp

所以我想更新LayoutWindow用戶控件diagram.Bounds財產(這是畫布大小),一旦按鈕(OkButton_Click)點擊裏面PopUp窗口

所以我想以後的事

public partial class PopUp : Window 
{ 
    private void OkButton_Click(object sender, RoutedEventArgs e) 
    {   

      LayoutWindow lw= new LayoutWindow(); 
      lw.InitializeComponent(); 
      lw.diagram.Bounds = new Rect(0, 0, 400, 400); 
      Close(); 
    } 
} 

但在這方式它不更新以上propery,我該如何做到這一點

回答

2

您正在創建一個LayoutWindow的新實例在PopUp窗口。你需要訪問已經存在的實例。要做到這一點最簡單的方法很可能是用的LayoutWindow實例注入PopUp窗口,當你創建:

public partial class PopUp : Window 
{ 
    private readonly LayoutWindow _lw; 
    public PopUp(LayoutWindow lw) 
    { 
     InitializeComponent(); 
     _lw = lw; 
    } 

    private void OkButton_Click(object sender, RoutedEventArgs e) 
    { 
     _lw.diagram.Bounds = new Rect(0, 0, 400, 400); 
     Close(); 
    } 
} 

LayoutWindow.xaml.cs:

var popup = new PopUp(this); 
popup.Show(); 
+0

thnks我會申請這個,讓你知道。 – kez

+1

ths這工作! :) – kez

相關問題