例如,如果Value属性从0变为100,我希望radialgauge遍历所有中间值,例如250毫秒。
你可以用一个简单的
DoubleAnimation
实现以下目标:
<Page.Resources>
<Storyboard x:Name="storyboard" >
<DoubleAnimation Storyboard.TargetName="RadialGaugeControl" Storyboard.TargetProperty="Value" From="0" To="100" Duration="0:0:3" EnableDependentAnimation="True"></DoubleAnimation>
</Storyboard>
</Page.Resources>
<Grid>
<controls:RadialGauge x:Name="RadialGaugeControl" Value="70" Minimum="0"
Maximum="180" TickSpacing="20" ScaleWidth="26" Unit="Units" TickBrush="Gainsboro"
ScaleTickBrush="{ThemeResource ApplicationPageBackgroundThemeBrush}"
NeedleWidth="5" TickLength="18" IsInteractive="True">
</controls:RadialGauge>
</Grid>
storyboard.Begin();
storyboard.Begin();
至少在代码隐藏中。
我希望有一种方法可以做到这一点,而不需要在后面添加代码(最好只使用XAML)。
如果你检查
RadialGauge
控件的
source code
,该值是一个依存属性,当
Value
已更改。你说的“不添加代码”,我认为你可以使用一些
XAML Behaviors
启动动画,但它没有为您提供任何事件。我不认为这比打电话简单
storyboard.Begin()
您可以选择更改源代码并为其添加动画。当
价值
更改后
OnValueChanged
方法将被激发,您可以在其中启动动画。然后,你可以为微软编译你的自定义版本。工具包。Uwp。用户界面。控件,并在项目中使用它。但我不认为这比只写一行代码简单
故事板。开始()