使用数据触发控制故事板,但只触发一次

2023-11-29

我使用数据触发器来控制一些故事板,但它只能触发一次。

 <Style x:Key="PropertyTriggerExampleButtonStyle" TargetType="{x:Type Button}">           
        <Setter Property="Width" Value="200" />
        <Style.Triggers>
            <DataTrigger Binding="{Binding para}" Value="0">
                <DataTrigger.EnterActions>
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimation Storyboard.TargetProperty="Width"
              To="500" Duration="0:0:1" />
                        </Storyboard>
                    </BeginStoryboard>
                </DataTrigger.EnterActions>                 
            </DataTrigger>
            <DataTrigger Binding="{Binding para}" Value="1">
                <DataTrigger.EnterActions>
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimation Storyboard.TargetProperty="Width"
              To="200" Duration="0:0:1" />
                        </Storyboard>
                    </BeginStoryboard>
                </DataTrigger.EnterActions>                   
            </DataTrigger>            
        </Style.Triggers>
    </Style>
<Button Style="{StaticResource PropertyTriggerExampleButtonStyle}">
        button width will be changed
    </Button>

para 是一个变量(已实现 INotifyPropertyChanged 接口),将由另一个按钮控制。它的值为0或1。

但是,当我单击按钮更改参数值时,故事板只会为每个值(0 和 1)触发一次。以后就永远不会触发了。

如果我将第二个故事板放入第一个数据触发器的 ExitActions 标记中。它会运作良好。但我有超过2个故事板需要控制......

下面的代码效果很好,但是我需要根据不同的值控制许多故事板(超过2个)......

<Style.Triggers>
            <DataTrigger Binding="{Binding para}" Value="0">
                <DataTrigger.EnterActions>
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimation Storyboard.TargetProperty="Width" To="500" Duration="0:0:1" />
                        </Storyboard>
                    </BeginStoryboard>
                </DataTrigger.EnterActions>     
                <DataTrigger.ExitActions>
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimation Storyboard.TargetProperty="Width" To="200" Duration="0:0:1" />
                        </Storyboard>
                    </BeginStoryboard>
                </DataTrigger.ExitActions>
            </DataTrigger>                       
        </Style.Triggers>

我遇到了同样的问题,然后我给了Timeline.FillBehavior="Stop",这对我有用。

Check: Microsoft - 时间轴类参考 -Timeline.FillBehavior财产

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用数据触发控制故事板,但只触发一次 的相关文章

  • 添加 UIImage 会忽略 UIImageView 框架并调整其大小

    我目前正在尝试将图像添加到一个视图的导航项中 在视图的viewDidLoad 使用以下代码调用函数 类似于这个帖子 https stackoverflow com questions 24803178 swift navigation ba
  • 如何将 ibOutlet 从子视图链接到故事板 xcode 中的自定义 UIView 类

    我认为这张图片说明了一切 我有一个 UIView 的子类 我已将其输入到类字段中 我正在尝试在故事板和类实现之间连接 ibOutlets 它没有给我错误 但它也不起作用 这是另一个 xcode bug 还是我期望它以一种不会的方式工作 这是
  • 为什么我的故事板中的视图控制器不断消失?

    我的故事板文件中的视图控制器不断消失 截至目前 我必须按向上箭头并突出显示每个项目才能恢复我的视图控制器 我可以做些什么来摆脱这个问题 还有什么我可以做的来将这些消失的视图控制器恢复到我的故事板上 这是一个错误 通常我可以通过关闭故事板并重
  • didSelectViewController 方法没有被调用(带有故事板)

    我有 2 个版本的选项卡式 ios5 应用程序 一个使用情节提要创建 一个使用 xib 文件创建 故事板版本不调用UITabBarControllerDelegate method didSelectViewController xib 版
  • 出现故事板之前的选项卡栏项目标题

    我的应用程序从一个有 5 个选项卡的选项卡栏控制器开始 一开始 第一个出现了它的名字 但其他四个没有名字 直到我点击它们 然后根据用户使用的语言显示名称 如何在选项卡栏出现之前设置选项卡的名称 我正在使用故事板 当所有其余的事情都通过情节提
  • 在 DataTrigger 内绑定 Storyboard 动画会导致 XamlParser 崩溃

    我希望我的应用程序在每次发生特定事件时将椭圆动画到新位置 出于测试目的 我制作了一个更改视图模型属性的按钮 并且该属性绑定到触发动画的数据触发器 但后来我希望视图模型根据我尚未实现的其他事件触发它 这就是为什么我可以不要直接在视图中使用绑定
  • 如何将数据从选项卡栏控制器传递到其选项卡之一?

    我在故事板中设置了一个 UITabBarController 我想从选项卡栏控制器传递数据字典以在适当的子选项卡中使用 这是一个标准的 UIViewController 这似乎是一个很长的问题要回答 但我真的不知道从哪里开始 我正在寻找最简
  • WPF Storyboard - 相同的触发器,但行为相反

    我有一个 Stackpanel One 其中有一些内容 一个图像和一个默认隐藏的 SubStackpanel 单击图像时 图像应旋转 90 度 并向下滑动 SubStackpanel 再次单击图像时 图像应旋转回其原始位置 并且 SubSt
  • 当我使用故事板时,为什么这些动画不起作用?

    我创建了一个简单的子类StackPanel我可以使用动画在屏幕上移动TranslateTransform 它看起来像这样 public class MovingStackPanel StackPanel public void BeginM
  • MvvmCross 和 Xcode 故事板

    mvvmcross v3 支持情节提要 xcode 吗 If yes how There is an example Thanks MvvmCross 不太适合故事板 原因是故事板中有一些逻辑 例如Segue导航 它真正属于 MvvmCro
  • 如何在我的 Swift 项目中使用 Objective-C 项目

    注 我知道如何从 Swift 调用 Objective C 代码 https stackoverflow com q 24002369 6521116 但我不知道下面 我想用这个EsptouchForIOS的演示 https github
  • 在呈现的模态视图控制器上按下时允许菜单按钮退出 tvOS 应用程序

    我有一个 tvOS 应用程序 带有UITabBarController作为主故事板的主要入口点 如果用户未登录 则UITabBarController提出了一个LoginViewController模态地 当用户按下 Siri 遥控器上的菜
  • 无法将 IBOutlet 连接到 Storyboard

    我最近开始使用故事板为我的 iPad 应用程序创建 iPhone 界面 我已将项目更改为 Universal 而不是 iPad 并在项目摘要屏幕中将所需的故事板分配给其设备 但是当我尝试使用 control drag 将任何元素连接到一段代
  • 触发器和数据触发器有什么区别?

    他们看起来是一样的 有显着差异吗 我想我错过了一些东西 一个常规的Trigger仅响应依赖属性 A DataTrigger可以由任何 NET 属性触发 通过设置其Binding财产 但是 它的 setter 仍然可以仅针对依赖属性
  • 在 Xcode Interface Builder 中对场景进行排序

    所以我不知道该怎么称呼它 但它是 Xcode 中 Storyboard Editor 左侧的那个栏 显示所有不同的场景 我喜欢使用故事板 但我对它们最大的不满是场景以完全随机的方式组织在该列表中 每次我向故事板添加新的视图控制器时 它都会被
  • 如何使对象 ID 易于理解?

    Storyboard 上的每个 UIView 都有一个唯一的对象 ID 如下所示 kvf NI koG 我想知道是否有一种方法可以使其更加人性化 例如 myLabel 您无法通过 Interface Builder 更改对象 ID Xcod
  • Google 地图 iOS SDK 和故事板

    我希望有人能解释如何开始使用 Google 地图和 Xcode 故事板 我找不到任何有关如何实际操作的信息 我只需要一个例子或采取的步骤 有这个http www youtube com watch v r3H8dFG0UCY http ww
  • Xcode 更改未修改的 Storyboard 和 XIB 文件

    从 git 工作流程的角度来看 当多人协作时 故事板是一种巨大的痛苦 例如 storyboard 文件中的 XML 有其起始位置
  • 文档 Main.storyboard 需要 Xcode 8.0 或更高版本

    我下载了 Xcode beta 并打开了现有的项目 看看它如何与 Xcode 8 beta 一起使用 我从 Xcode 8 打开了 Storyboard 文件 现在 当我从 Xcode 7 3 打开项目时 我无法打开故事板文件 它给出了以下
  • 在视图控制器之间传递数据使用从嵌入导航控制器的视图到 tabbarcontroller 的 Segue

    我有两个视图 我想将数据从一个视图传递到下一个视图 第一个视图是我想要传递给下一个视图的数据的地方 我们称之为SourceViewController 然而SourceViewController嵌入在一个NavigationViewCon

随机推荐