自动缩放的问题

深海之蓝 2010-02-08 11:34:31
就是那种在右边的窗体(应该不是一个window,但不知道该叫什么),鼠标点一下能够从右到左 动画弹出,再点一下能够动态收回(不是expender,应该是自定义控件),不知道这个得怎么实现,是否有现成控件,还有下边的问题,如果有解决办法 也帮忙看一下吧
http://topic.csdn.net/u/20100201/11/da38c870-b691-46a8-86c4-444b5fdbf937.html
多谢各位
...全文
81 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
深海之蓝 2010-02-09
  • 打赏
  • 举报
回复
恩 多谢了 代码可以
Goldfire_001 2010-02-08
  • 打赏
  • 举报
回复
Accordion

参见Silverlight ToolKit里的Sample
深海之蓝 2010-02-08
  • 打赏
  • 举报
回复
还有 就是这样的控件 不知道该叫什么,有知道的朋友 麻烦告诉一下
jv9 2010-02-08
  • 打赏
  • 举报
回复
上个帖子回复过了,使用DockPanel可以实现,很简单的。使用storyboard进行宽度控制,就可以实现动画效果。

例如,定义一个Dockpanel



<Grid ControlsToolKit:DockPanel.Dock="Right" Width="0" x:Name="menuContent" Visibility="Visible" Margin="1,5,0,3" >
<Border x:Name="MainMenuPanelHolder" Background="White" BorderBrush="#99bbe8" BorderThickness="1">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Grid x:Name="grid" Height="26" Grid.Row="0">
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,-1" StartPoint="0.5,1.5">
<GradientStop Color="#FFB0D5F4" Offset="0"/>
<GradientStop Color="White" Offset="0.5"/>
</LinearGradientBrush>
</Grid.Background>
<Image Source="Images/Menu.png" HorizontalAlignment="Left" Stretch="None" Margin="3"></Image>
<TextBlock Margin="30,6,0,6" FontSize="12">Menu Panel</TextBlock>
<Image x:Name="expand" Source="Images/leftHide_icon.png" Stretch="None" Margin="3" HorizontalAlignment="Right" Opacity="0"></Image>
<Image x:Name="collapse" Source="Images/leftShow_icon.png" Stretch="None" Margin="3" HorizontalAlignment="Right" Opacity="1" Cursor="Hand" MouseLeftButtonUp="collapse_MouseLeftButtonUp"></Image>
</Grid>

<Grid Grid.Row="2" Background="White" x:Name="leftMenuPanel" >
<Local:Menu x:Name="Menu"/>
</Grid>
</Grid>
</Border>
</Grid>


然后在资源文件中定义动画效果:



<UserControl.Resources>

<Storyboard x:Name="hideMenu">
<DoubleAnimation Storyboard.TargetName="menuContent" Storyboard.TargetProperty="Width" To="0" Duration="0:0:0.3"></DoubleAnimation>
</Storyboard>
<Storyboard x:Name="showMenu">
<DoubleAnimation Storyboard.TargetName="menuContent" Storyboard.TargetProperty="Width" To="180" Duration="0:0:0.3"></DoubleAnimation>

</UserControl.Resources>


使用上面代码就可以实现。
深海之蓝 2010-02-08
  • 打赏
  • 举报
回复
引用 2 楼 goldfire_001 的回复:
Accordion

参见Silverlight ToolKit里的Sample

应该不是这个,这个我用过
蝈蝈俊 2010-02-08
  • 打赏
  • 举报
回复
test test test

8,736

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧