C# WPF在运行时重新调整边框大小
在XAML中设置框架元素(本例中为边框)宽度是否会阻止我在运行时更改此值 我有一个包含边框的网格,而边框又包含一些其他控件。我有一个动画,它将网格和边框的宽度和高度从0增加到0 然后,我在边框上方放置了一个按钮,作为重新调整大小的辅助工具(这是一个无边框窗口)。以下是应重新调整边框大小的代码片段:C# WPF在运行时重新调整边框大小,c#,wpf,C#,Wpf,在XAML中设置框架元素(本例中为边框)宽度是否会阻止我在运行时更改此值 我有一个包含边框的网格,而边框又包含一些其他控件。我有一个动画,它将网格和边框的宽度和高度从0增加到0 然后,我在边框上方放置了一个按钮,作为重新调整大小的辅助工具(这是一个无边框窗口)。以下是应重新调整边框大小的代码片段: private void GridResize_Click(object sender, RoutedEventArgs e) { startPoint = this.PointTo
private void GridResize_Click(object sender, RoutedEventArgs e)
{
startPoint = this.PointToScreen(Mouse.GetPosition(this));
Mouse.Capture(GridResize);
Resizing = true;
}
private void Window_MouseMove(object sender, MouseEventArgs e)
{
if (Resizing)
{
FrameworkElement border = (FrameworkElement)LibraryBorder;
//an arbitrary value for testing
border.Width += 20;
LibraryBorder.InvalidateVisual();
}
}
初始动画将边框宽度设置为1500。调试时,两个事件都被注册,Window_MouseMove试图修改边框宽度。但是,它不会改变该值-它保持在1500。我将该元素强制转换为FrameworkElement,希望这样可以修改width属性。我假设我的xaml值以某种方式覆盖了我的代码。有没有关于如何避开这个问题的想法。我想在我开始将我所有的动画转换成代码之前,我会问一下,以发现有更好的方法(或者代码方法不会有什么不同!!)
提前感谢您的回答请确保您的
情节提要
没有默认设置。这将阻止您更改宽度。请参阅。您的故事板是否有默认设置?这将阻止您更改宽度。看,我没有设置这些,也不知道它们是默认值。我会看一看-感谢指针如果我将FillBehavior设置为Stop,那么动画将运行,值将恢复到其原始状态。有没有办法从代码中释放HoldEnd?感谢LPL-如果你把你的建议作为答案,我会接受。似乎需要将我的FillBehavior设置为Stop,然后处理处理width属性的double动画的onCompleted事件-将其设置为最终值并再次打开属性进行编辑。我添加了我的注释作为答案。谢谢很高兴我能帮忙。