wpf 使用TranslateTransform后控件显示不全

如图,点击button1后button2会向左移动,图片说明

但如果将button2移到右边,只露出一部分,就像这样:图片说明,再点击button1,
动画结束后,显示的是露出的一部分,另一半不见了。(如图:图片说明

这是动画代码:

private void button1_Click(object sender, RoutedEventArgs e)
{
TranslateTransform tt = new TranslateTransform();
button2.RenderTransform = tt;
DoubleAnimation dav = new DoubleAnimation(0, -250, new Duration(TimeSpan.FromSeconds(1)));
tt.BeginAnimation(TranslateTransform.XProperty, dav);
}

这是怎么回事?有什么解决办法吗?

试了一下,如果button2.Margin=(428,44,0,0),在设计器中会显示被window挡住,显示不全问题仍然会有。但margin=(434,41,-68,178)时,上述问题就没有了。
如果不想控件被window挡住,margin对应值应是被挡住的宽度或长度的负值,这估计是布局的问题。
如一个button.margin=(40,0,0,0);宽600,但太宽被window挡住了400,则button.margin应为(40,0,-400,0,0)。