【发布时间】:2018-09-08 20:55:25
【问题描述】:
我在父窗口(仪表板)上有一个用户控件(Menu.xaml),网格名称为“page”。 我在用户控件上还有一个按钮(ButtonOpenMenu),我想更改主窗体上网格(页面)的 Margin 属性。
基本上是这样
关于后面的 UserControl 代码
public void ButtonOpenMenu_Click(object sender, RoutedEventArgs e)
{
// change margin of grid on Parent Wndow(Dashboard)
ThicknessAnimation grdanimation = new ThicknessAnimation(new thickness(0), new Thickness(200, 0, 0, 0),
new Duration(new TimeSpan(0, 0, 1)), FillBehavior.HoldEnd);
Dashboard db = new Dashbaord();
db.page.BeginAnimation(Border.MarginProperty, anima);
}
有什么帮助吗?
【问题讨论】:
-
当您调用
Dashboard db = new Dashbaord();时,您正在创建一个新的仪表板,这显然不是已经存在的仪表板。试试db = (Dashboard)Application.Current.MainWindow; -
如果Dashboard中的Grid是UserControl的直接父元素,也可以试试
Parent.BeginAnimation(...)
标签: c# wpf data-binding