如何在WinRT应用程序中的VisualState Storyboard中设置DependencyProperty.UnsetValue?

时间:2015-06-17 11:37:07

标签: xaml windows-runtime winrt-xaml visualstatemanager

我正在开发 Windows 8.1商店应用,并且在一个页面上我需要在横向模式下设置MyControl.Width = 450,但在Portrait中我想让控件伸展到所有可用空间。 作为一种解决方法,可以使用Horizo​​ntalAlighment Right vs Stretch with MinWidth,但我对使用 VisualState Storyboards 的解决方案感兴趣。

使用 ObjectAnimationUsingKeyFrames 设置特定宽度很容易:

<ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetName="MyControl" Storyboard.TargetProperty="Width">
    <DiscreteObjectKeyFrame KeyTime="0" Value="450" />
</ObjectAnimationUsingKeyFrames>

但我不知道如何在这里设置 DependencyProperty.UnsetValue ,换句话说,将属性设置为默认值,取消设置值。注意我正在寻找Windows 8.1应用程序中的解决方案。在WPF XAML中可能很容易实现,但在Windows 8.1中,XAML有点受限。感谢

1 个答案:

答案 0 :(得分:0)

此代码段看起来像是单个VisualState的内容。同一VisualStateGroup中的每个VisualState都是互斥的。如果你有一个状态没有修改同一个VisualStateGroup中的Width属性那么你应该能够在两者之间使用GoToState并有效地设置/取消设置值。

相关问题