【问题标题】:Silverlight 4 and out of browserSilverlight 4 和浏览器外
【发布时间】:2010-04-22 15:57:23
【问题描述】:

是否有人知道是否可以为 app.current.mainwindow.width 设置动画,以便在以编程方式调整 oob 应用程序窗口大小时获得带有缓动的漂亮动画。 谢谢。

【问题讨论】:

    标签: silverlight silverlight-4.0 out-of-browser


    【解决方案1】:

    最简单的方法是向您的页面添加一个滑块控件。滑块可以折叠,仅用于具有简单的动画属性。为滑块的 Value 属性设置动画。在滑块的 ValueChanged 事件中更新窗口宽度。你需要提高推力才能做到这一点。

    看起来像这样:

    Xaml

    <UserControl.Resources>
      <Storyboard x:Name="Storyboard1">
        <DoubleAnimation Duration="0:0:1" To="750" 
                         Storyboard.TargetProperty="(RangeBase.Value)" 
                         Storyboard.TargetName="slider1">
          <DoubleAnimation.EasingFunction>
            <BounceEase EasingMode="EaseOut"/>
          </DoubleAnimation.EasingFunction>
        </DoubleAnimation>
      </Storyboard>    
    </UserControl.Resources>
    
    <Grid x:Name="LayoutRoot" Background="Green">
      <Button Width="50" Height="32" Click="Button_Click">Test</Button>
      <Slider Visibility="Collapsed" VerticalAlignment="Bottom" 
              x:Name="slider1" Maximum="1000" 
              ValueChanged="slider1_ValueChanged" />
    </Grid>
    

    代码背后

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        Storyboard1.Begin();
    }
    
    private void slider1_ValueChanged(object sender, 
                                      RoutedPropertyChangedEventArgs<double> e)
    {
        Application.Current.MainWindow.Width = e.NewValue;
    }
    

    【讨论】:

      【解决方案2】:

      您应该查看this Channel 9 presentation 以在浏览器外支持中自定义窗口镶边。您的应用程序需要提高信任度才能自定义 chrome,但这可能使您能够做您想做的事情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多