从另一个窗口修改用户控件属性的值

时间:2017-04-20 14:30:38

标签: c# wpf

我有以下用户控制

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

在这个用户控件上我有一个按钮来打开另一个窗口调用PopUp

所以我尝试更新LayoutWindow UserControl 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();
    }
} 

但是通过这种方式它没有更新以上的优势,我该如何正确地做到这一点

1 个答案:

答案 0 :(得分:2)

您正在p::first-letter { font-size: 250%; line-height:.9; } 窗口中创建LayoutWindow的新实例。您需要访问现有实例。最简单的方法可能是在创建PopUp窗口时注入PopUp个实例:

LayoutWindow

<强> LayoutWindow.xaml.cs:

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();
    }
}