问题标签 [visualstates]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1204 浏览

wpf - 如何更改 ControlTemplate 的视觉状态而不替换它?

我想定义一个ToggleButton在选中时显示为红色前景(例如)的,而不是按下按钮的默认外观。

我看到视觉状态被维护为ToggleButton's中的命名元素ControlTemplate

在不重新定义整个模板的情况下替换/删除/自定义视觉状态的最简单方法是什么?

0 投票
1 回答
5714 浏览

xaml - 如何在 Silverlight 3 中制作具有视觉状态的简单基于图像的按钮?

在我以前的公司,我们使用 Flex 和在 Flash 中创建的图形资产创建了 RIA。在 Flash 中,您可以简单地为不同的状态(即翻转、禁用)布置图形。

现在,我正在从事 Silverlight 3 项目。我得到了一堆图像,这些图像需要用作具有翻转、按下和正常状态的按钮的图形。我无法弄清楚如何在 Visual Studio 2008 或 Expression Blend 3 中为不同的视觉状态简单地创建具有不同图像的按钮。

这是我目前所在的位置。我的按钮在 XAML 中是这样定义的:

MyButton样式如下所示:

我不知道如何为不同的状态分配不同的模板,也不知道如何根据我所处的状态更改图像的源。我该怎么做?此外,如果您知道任何描述样式如何在 Silverlight 中工作的优秀文档,那就太好了。我能想到的所有搜索结果都毫无帮助,令人沮丧。

编辑:

我找到了一种通过这样的故事板更改图像的方法:

然而,这对我来说似乎是一种奇怪的做事方式。有没有更标准的方法来实现这一点?

0 投票
1 回答
247 浏览

c# - 控制进入视觉状态 - 但实际视觉状态没有通过 xaml 更新

我有两个控件 - 控件 1 内的控件 2。控件 1 和控件 2 具有视觉状态。

我面临以下问题:

控件 2 进入可视状态,(已在 C# 代码中放置了 Debug.Write),但没有在可视化上得到更新(在 xaml - 可视化状态中指定)。这种情况经常发生,但并非总是如此。我有不止一双眼睛来查看代码,它似乎没有任何问题。有没有人遇到过这个/类似的问题。谢谢。

0 投票
1 回答
2612 浏览

silverlight - Silverlight 4.0 视觉状态管理器

任何人都可以帮助我还是我错过了什么?视觉状态未触发

xmlns:swi="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" xmlns:esi="clr-namespace:Expression.Samples.Interactivity;assembly=Expression.Samples.Interactivity" xmlns:mei="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions"

0 投票
1 回答
1232 浏览

wpf - WPF:VisualStateManager 不工作

我试图弄清楚 VisualStateManager 是如何工作的,但我做不到。

我想这样做:我有一些文本框,用户可以在其中输入他的姓名、地址……我正在进行验证,我不想在 XAML 中使用验证规则绑定来做到这一点。我正在使用 MVVM 模式,我的视图模型的一些代码可以做到这一点。因此,我将文本框的文本绑定到视图模型为我验证的字符串,并且我在那里有一个布尔变量来判断它是否正确。

我的 XAML:

当用户的焦点离开文本框时,将发生此事件:

我试过了,状态没有改变,尽管事件发生了,它转到了正确的 GoToState-Method。什么都没发生。

我也试过
ExtendedVisualStateManager.GoToElementState(this.Border1 as FrameworkElement, "NameValid", false);

因为我在这里读到它会有所帮助,但它是一样的......

我做错了什么??

0 投票
1 回答
967 浏览

silverlight - SilverLight 中的视觉状态?(我们如何使用它)

我在 xaml 中为按钮 s 编写了简单的模板。(对于 silver-light 4)
So when I try use "ControlTemplate.Triggers", I found that is impossible in silver-light, and we must use Visual-State in Silver-Light
所以我首先用 Visual-State 编写了 ControlTemplate 但它不能正常工作。(这里是代码)

当我使用这种风格并在这个边框上移动这个边框时,边框和文本块都变得不可见。所以
1)我该怎么办?
2)视觉状态有什么好的例子吗

0 投票
1 回答
455 浏览

silverlight - 传播 VisualState 更改的最佳方式

我目前面临一种情况,我不确定什么是最好的处理方式。

设想:

  1. ControlA 有 2 两个自定义视觉状态,我们称它们为“StateOn”和“StateOff”。
  2. 我现在在 ControlA 上应用一个模板,我们称之为“templateA”。
  3. “templateA”下面有一个 ControlB 类型的控件(他不知道 StateOn/Off)。
  4. ControlB 有一个 Template 来处理 ControlA 的视觉状态变化,即 StateOn 和 StateOff。

问题:
ControlB 没有收到对 ControlA 触发的 VisualStates 的更改,因此不会发生视觉更改。

我认为问题与作为控件(ControlB)的根元素有关,它不会在所需状态下触发 gotostate。但是,我想知道将 ControlA 的视觉状态更改传播到 ControlB 的最简单/最干净的方法是什么。

谢谢你的帮助!

亨利

Xaml:-

后面的代码:

0 投票
1 回答
580 浏览

wpf - 为元素创建滑下动画/故事板?

我想在我的 WPF (.net 4.0) 应用程序中为 Grid 元素创建一个向下滑动的动画。我假设我可以执行以下操作:

  1. 创建视觉状态(关闭,renderTranslate.y=-ActualHeight,通过 Binding with converter 解决)
  2. 创建视觉状态(打开,renderTranslate.y=0)
  3. 创建一个容器来剪辑动画
  4. 使用默认过渡

然而,(1)中的绑定似乎被忽略/不评估。显然 VisualStates 和 Storyboards 不允许 DataBinding(但 SL4 似乎支持它们)。还有其他想法如何以类似 XAML 的方式实现这种下滑效果吗?

0 投票
1 回答
979 浏览

silverlight - Expression Blend 中的状态故事板动画

我想做的是学习如何使用 Expression Blend 在 Silverlight 中为各种控件设置动画。

我开始尝试为列表框设置动画。我有一个列表框,我尝试编辑其样式(编辑样式->编辑当前/编辑副本),它会显示具有各种默认状态的状态面板。

我无法弄清楚的是如何仅使用表达式混合将状态从显示的默认状态列表链接到情节提要动画。 替代文字

因此,例如,如果我有一个仅显示专辑名称的音乐专辑列表,并且在选择它时,我希望所选列表项的大小增加一点,以便容纳有关专辑的更多详细信息......比如艺术家姓名,发售日等

有没有人有任何链接可以解释如何逐步实现上述目标?..或者至少有一些关于如何以正确的方式学习基础知识的事情。

谢谢

0 投票
0 回答
768 浏览

silverlight - Silverlight/Blend Datatrigger/EventTrigger STRANGE 问题

我的用户控件在 itemscontrol 中包含 3000 个 NewDotControls。NewDotControl 的 ControlTemplate 在定义视觉状态的样式中指定,并且有一个事件触发器在 Loaded 事件上调用 GotoStateAction。

3000 个 NewDotControls 中只有大约 445 个进入 EventTrigger 定义的“选定”状态,而其余的 NewDotControls则没有。当我使用绑定到 ViewModel 的 DataTriggers 时也会发生同样的情况。相同的 xaml/code/app 在 WPF 中工作。

为什么 DataTriggers/EventTriggers/GotoStateAction 不适用于 ItemsControl 中的所有控件?

如果我删除初始加载的 EventTrigger,大约 775 到 800 个 NewDotControls 响应 DataTriggers/GotoStateAction。如果我将命令连接到控件,命令会执行并修改 ViewModel 属性并触发 PropertyChanged 事件,但 DataTrigger/GotoStateAction 仍然不会发生。

我会错过什么?项目控件中可以数据绑定的项目数量是否有限制?或者是否存在问题,因为它在 ControlTemplate 中?为什么这在 WPF 中有效,但在 Silverlight 中无效?

谢谢!!!拉杰什