使用Silverlight
,XAML
和C#
,我如何以编程方式将Object/UserControl
从右向左滑动到我的视野中。
我遇到的问题是VideoPlayer从一开始就在屏幕上。我将起始网格点设置为网格列9,但即使我只有8个网格列,它仍会显示。
我正在使用具有 8 x 8 相等网格布局的网格,如此;
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" ></ColumnDefinition>
<ColumnDefinition Width="*" ></ColumnDefinition>
<ColumnDefinition Width="*" ></ColumnDefinition>
<ColumnDefinition Width="*" ></ColumnDefinition>
<ColumnDefinition Width="*" ></ColumnDefinition>
<ColumnDefinition Width="*" ></ColumnDefinition>
<ColumnDefinition Width="*" ></ColumnDefinition>
<ColumnDefinition Width="*" ></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition x:Name="Row0" Height="*"></RowDefinition>
<RowDefinition x:Name="Row1" Height="*"></RowDefinition>
<RowDefinition x:Name="Row2" Height="*"></RowDefinition>
<RowDefinition x:Name="Row3" Height="*"></RowDefinition>
<RowDefinition x:Name="Row4" Height="*"></RowDefinition>
<RowDefinition x:Name="Row5" Height="*"></RowDefinition>
<RowDefinition x:Name="Row6" Height="*"></RowDefinition>
<RowDefinition x:Name="Row7" Height="*"></RowDefinition>
</Grid.RowDefinitions>
我已将VideoPlayer设置为从Grid.Col 9开始,但仍显示Col 8
播放器的当前XAML是
<Controls:VideoPlayer x:Name="videoPlayer"
Grid.Row="1"
Grid.RowSpan="6"
Grid.Column="9" <-- I wanted it off the grid but it still shows on col 8
Grid.ColumnSpan="3" Margin="15"
/>
我目前有
<Storyboard x:Name="slideInVideo">
<DoubleAnimation Storyboard.TargetName="videoPlayer"
Storyboard.TargetProperty="Grid.Column"
From="8" To="5" Duration="00:00:10"/>
</Storyboard>
答案 0 :(得分:1)
您的方法存在许多问题。
9
列中设置元素。Grid.Row
和Grid.Column
属性指向基于零的索引。Storyboard.TargetProperty="(Grid.Column)"
注意括号,它是动画附加属性所必需的。答案 1 :(得分:0)
您可以使用表达式交互性和交互命名空间中可用的内置行为
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
xmlns:ee="http://schemas.microsoft.com/expression/2010/effects"
此处有更多信息...... http://msdn.microsoft.com/en-us/library/ff724013(v=expression.40).aspx
FluidMoveBehavior
和ExtendedVisualStateManager.TransitionEffect
之类的内容可以帮助您在加载时(或在其他状态更改时)显示从屏幕一侧移入的元素的外观。