首页 > 解决方案 > 从另一个屏幕更改组件

问题描述

Tenhos 2 窗体,其中一个是用户控件,一个是普通窗口。所以我将该用户控件加载到我的窗口中。我想做的是在单击用户控件按钮时更改窗口中的值。

窗口 [用户控制]

当我单击用户控制按钮时,例如“更改颜色窗口”,我更改了窗口的背景颜色。

这怎么可能?

如果我创建一个全局类并放置一个 windows 类型的对象,我将能够访问它吗?

标签: c#wpf

解决方案


加载后,您可以UserControl使用该Window.GetWindow方法从 a 获取对父窗口的引用:UserControl

public partial class UserControl1 : UserControl
{
    public UserControl1()
    {
        InitializeComponent();
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        Window parentWindow = Window.GetWindow(this);
        if (parentWindow != null)
            parentWindow.Background = Brushes.Yellow;
    }
}

推荐阅读