WPF里面有一个Owner属性,你去看看

解决方案 »

  1.   

    用户控件里的文本的鼠标左键点击事件:
     private void lbl_MenuName_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
          //frm_Manage为主窗体,Grid_MenuChildren为主窗体的一个控件
          var frm = (this.Parent as frm_Manage);
          frm.Grid_MenuChildren.Children.Clear();
    }
    我的意思即是用户控件里的文本被点击后就隐藏主窗体的一个控件,这样的设计不正常?
      

  2.   


    受到启发,发现只要逐层向上即可:
    private void cb_Checked(object sender, RoutedEventArgs e)
            {
                UC_FoodBtn foodBtn = new UC_FoodBtn(this);
                var wrapPanal_food = (this.Parent as WrapPanel);
                var scrollViewer2 = (wrapPanal_food.Parent as ScrollViewer);
                var mainGrid = (scrollViewer2.Parent as Grid);
                var scrollViewer = (mainGrid.Parent as ScrollViewer);
                var mainWindow = (scrollViewer.Parent as MainWindow);
                mainWindow.wp_ordered.Children.Add(foodBtn);
            }