Windows c#WPF Annimate Canvas Size

时间:2016-05-19 20:27:56

标签: c# wpf animation canvas

在我提出问题之前,让我试着解释一下我想要完成的事情。在我的WPF窗口中,我在窗口中间有一个按钮。单击该按钮时,我希望从按钮滑出子菜单,并使用子菜单按钮展开。

如果您认为我可能会以错误的方式接近这一点,我愿意接受建议。我是WPF的新手,因为我正试图从WinForms过渡。

从我的搜索中我发现了如何使用storyboard或doublAnimation来调整按钮和形状的大小。到目前为止,我还没有找到如何用画布做到这一点。我已经找到了如何将画布存储在窗口外面并将其滑入,但我希望它能够折叠到触发按钮中。

我认为我发现的壁橱示例是来自MSDN https://msdn.microsoft.com/en-us/library/ms753135%28v=vs.100%29.aspx?f=255&MSPPError=-2147217396的这篇文章。

我目前正在使用MSDN中的整个示例来尝试学习动画画布大小的基础知识。我想过,一旦我在一个简单的环境中学习如何做到这一点,那么我就可以将它应用到我的应用程序中。

我修改了XML以指向我的画布(name =“Can”),但是我返回了一个错误

  

“Windows Presentation Foundation项目不支持。”

我的项目是上面链接的MSDN网页上的WPF示例的复制/粘贴。我只修改了第一个按钮的DoubleAnimation元素到

<EventTrigger RoutedEvent="Button.Click">
    <BeginStoryboard>
        <Storyboard>
            <DoubleAnimation Storyboard.TargetName="Can"
                             Storyboard.TargetProperty="(Can.Width)"
                             To="500" 
                             Duration="0:0:3" 
                             AutoReverse="true" />
        </Storyboard>
    </BeginStoryboard>
</EventTrigger>

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

试试Storyboard.TargetProperty="(Canvas.Width)"。 WPF中没有Can类型,且Width属性。