列宽度动画XAML

时间:2013-02-12 16:02:50

标签: vb.net xaml

我有一个包含以下内容的三列网格:

第1列:子网格(宽度:特定)

第2列:TextBox(宽度:自动)

第3列:子网格(宽度:自动)

我想知道,在纯XAML中并且没有后置代码,是否可以将第三列设置为“增长”,将第二列设置为“缩小”以适应它。

如果需要使用后置代码,是否有人可能会指责我使用VB方法?

我已经尝试过所有我能想到的双重动画,并且我已经找到了一种相对于当前宽度缩小文本框的方法,这可能会解决问题,但无济于事。

先谢谢,

弗雷迪。

1 个答案:

答案 0 :(得分:1)

列宽被定义为GridLength而不是double,这就是为什么您不会使用任何DoubleAnimation变体获得您正在寻找的结果。没有内置的实现,但是制作GridLengthAnimation并不是那么难,并且有很多例子(虽然我不知道VB中的一个)。

以下是一个示例:http://marlongrech.wordpress.com/2007/08/20/gridlength-animation/

大多数代码都是样板文件,您可以轻松地在VB中自行编写,而重要的位(即GetCurrentValueCore)应该以非常小的变化进行转换。