问题标签 [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 回答
379 浏览

c# - 在设计时设置控件的视觉状态

有没有办法在 Miscrosoft Blend 的设计期间设置控件的视觉状态?

(例如,将 TextBox 的状态设置为“已禁用”,以便可以在设计图面上看到已禁用的 TextBox)

提前致谢 :)

0 投票
3 回答
437 浏览

silverlight - Silverlight 根据控件 CheckState 更改内容(切换多个 ContentPresenters)

我想根据当前的 CheckState(选中、未选中、不确定)更改控件的内容。如果可能的话,我希望解决方案只使用 XAML 并且不需要任何代码。

我想知道使用哪个控件以及如何定义多组内容。

Example: A "ToggleContent" control that displays UserControl1 when the checked state is Unchecked and UserControl2 when the checked state is Checked.

XAML 可能看起来像这样:

0 投票
1 回答
6789 浏览

wpf - 彩色动画 ContentPresenter

我无法在 ContentPresenter (NormalTextDay) 中创建动画或自定义颜色,此错误出现在我的 XAML 中:

'System.Windows.Media.Animation.ColorAnimation' 动画对象不能用于动画属性'Foreground' 这是因为不兼容的类型'System.Windows.Media.Brush

0 投票
1 回答
388 浏览

silverlight - 视觉状态处于活动状态时动态缩放对象

我正在构建一个具有两种视觉状态的图片查看器。

A) 应用程序基础状态(没有激活的视觉状态)

1)“基础”状态(视觉状态,空故事板)

2)所有图像的“网格”(将图像缩放到四分之一大小的视觉状态)

我想用手势在视觉状态之间切换。目前捏合图像可以做到这一点。当我捏(OnPinchDelta)时,我还希望捏手势来缩放图像。这仅适用于 A) 没有激活的视觉状态。一旦我启动视觉状态 1) 或 2) 捏不再起作用。它仍然会启动视觉状态更改,但不会捏合时缩放图像。

当我的视觉状态处于活动状态时如何修改图像比例,或者如何退出任何活动的视觉状态以不运行任何视觉状态/故事板(我认为后者是不可能的)?

捏合时不再缩放图像的原因是因为它与视觉状态有某种冲突。在应用程序启动时,一切正常,但一旦视觉状态被激活,它就不再工作了。如果在应用程序启动中我将视觉状态设置为 1) 它甚至一次都不起作用。

编辑:我建立了一个简化的例子。这是相关的 XAML(其余部分的复制粘贴不起作用,否则它只是带有工具包参考的默认 WP 页面模板):

这是.CS

}

结束。更改视觉状态适用于捏合。实际上,仅在没有视觉状态处于活动状态时才在捏合时缩放图片。如何在视觉状态处于活动状态时缩放项目?

0 投票
0 回答
576 浏览

wpf - 动画模板的宽度和高度

如何在 XAML 中为模板的宽度和高度设置动画?例如在下面的代码中,

我可以动画整个控件的大小,而不是动画“容器”网格的大小,即应用此样式的控件吗?由于当前的方法容器的大小没有改变,这导致内容被剪裁。

提前致谢。

0 投票
1 回答
2449 浏览

c# - 使用后面的代码和使用 xaml 移动对象

我正在使用 blend 4 制作 wpf 应用程序

我在 xaml 中定义了一个 wrapPanel:

当我进入某种视觉状态时,wrapPanel 后面的代码到一个新位置:

我这样做是因为在这种状态下,不同的 wrapPanels 可以出现在状态中,(为了避免复制状态)

退出该状态后,我将面板移回其原始位置。

我在其他州也有相同的 wrapPanel 被 xaml 移动:

所以状态 A 在 c# 中移动 wrapPanel,状态 B 使用 xaml 移动面板。

当我使用状态 B 时,wrapPanel 会毫无问题地移动。(xml)

当我使用状态 A 时,wrapPanel 会毫无问题地移动。(C#)

当我使用状态 A 移动面板然后尝试使用状态 B 后记时,就会出现问题。程序崩溃了,我不知道为什么。似乎在使用代码隐藏移动对象后,xaml 渲染转换不再有效?

谁能告诉我为什么会这样以及如何解决/解决它?

提前致谢

编辑

堆栈结果如下:

0 投票
1 回答
3613 浏览

c# - VisualStateManager.GoToState 不适用于 DataTemplate

我有一个具有以下DataTemplate设置的列表框,ItemTemplate我想VisualState使用 Codebehind 更改它。

数据模板:

这是我用来获取边框的代码(FindChild 来自How to find element in visual tree? wp7)并更改 VisualState

但是,GoToStates 返回 false。blub 确实是我想要的边框(嗯,它是第一个 Listboxitem)但是 VisualStates 似乎有效,因为当我使用 Blend 中的 Behaviors 时,它们实际上确实发生了变化:

触发器:

有人知道发生了什么吗?提前致谢!

0 投票
1 回答
215 浏览

silverlight - 保持 Silverlight 文本框选择显示而不集中显示?

如标题所示,基本上我想为 WPF做与此相同的事情,但改为在 Silverlight 中。

但是在我的 TextBox.LostFocus 事件中,没有 e.Handled。而且我还尝试使用 VisualStateManger.GoToState 来聚焦状态:

但它也不起作用。

有什么解决方法吗?

0 投票
1 回答
742 浏览

wpf - 为什么触发 MouseOver 状态后,Checked 状态的 ColorAnimation 不保持颜色?

ControlTemplate我创建的for遇到了问题ToggleButton

当按钮为Checked时,ColorAnimation触发 a 并且控件的背景改变颜色。但是,如果用户进入该MouseOver状态,则会触发另一个动画,该动画也会影响按钮的背景。

当鼠标不再处于该MouseOver状态时,控件不会返回到它处于该状态时应具有的颜色Checked。我不确定为什么在MouseOver触发状态时这种情况不会持续存在。

我的VisualStateManager部分ControlTemplate看起来是这样的:

0 投票
2 回答
451 浏览

grid - winrt Grid RowDefinitions 更改取决于 VisualState

VisualState 更改时是否可以更改 Grid.RowDefinition?我可以在故事板中提取我需要的样式或模板中的 Grid.RowDefinitions 吗?