问题标签 [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.
xaml - 当 bool 属性的值更改为 true 时触发 VisualState(更改为 false 时忽略)
我正在开发一个文本编辑器,它的 UI 将有两种状态:窄和宽。
Narrow 主要用于小于 720 像素的窗口大小,大于 720 像素时为宽。但是,此外,如果只打开一个文件,我希望使用窄 UI 状态而不管窗口大小(即,即使它 >= 720 像素)。
我有一个 bool 属性,可以记录是否打开了多个文件:
但是我没有成功将 VisualState 触发器链接到此属性的值,即如果为 true,则转到此状态,如果为 false,则转到下一个 VisualState。
任何关于如何通过 VisualState.StateTriggers 实现这一目标的指导将不胜感激。
--
正如 dotMorten 所建议的,我已经更改了属性设置器以引发 PropertyChanged 事件以及一个 int 属性:
理想情况下,我会让它在两种状态下工作:
但是,复合状态触发器似乎不起作用,所以我最终得到了 3 个状态:
c# - UWP VisualState - 修改整个类(例如按钮)
在 UWP 中,我们可以使用 visualstate.setters 轻松更改按钮的属性,例如基于窗口大小
现在假设我有大量的按钮。而不是手动输入每个条目,btnA.Height..,BtnB.Height...等等,有没有办法在 custom.xaml 中输入它们?
我正在尝试类似的东西:
但是,当然,它不起作用。任何人都可以偶然提出一些建议吗?
c# - 故事板中的模板绑定 | ObjectAnimationUsingKeyFrames 不起作用
我有以下设置。问题是,如果我切换到VisualState
“警报”,AlarmBrush
则没有设置。我尝试了不同的“绑定”(见下文),但我只收到类似System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression:Path=AlarmBrush; DataItem=null; target element is 'DiscreteObjectKeyFrame' (HashCode=39320280); target property is 'Value' (type 'Object')
.
如果我用 ResourceKey 替换该值,那么一切都很好。但是我希望这个状态是动态的,所以静态资源是没有选择的。
基类
派生类
XAML 样式
xml
uwp - UWP - 动态更改按钮 VisualState
我正在尝试动态更改按钮按下背景。但我无法从后面的代码访问此属性。根据按钮的基本样式,我尝试获取 ControlTemplate(通过 TemplateProperty),但没有方法从中检索它包含的网格(RootGrid)。所以我试图让 VisualStateGroup 像这样:
但这会返回 null。
谢谢你的帮助。
塞缪尔
xaml - 按钮 VisualState Focused 不起作用
单击按钮时,我正在尝试更改按钮的字体颜色。我尝试了很多不同的东西,但没有一个奏效。这是我尝试过的最新事情,我认为应该是答案,但它不起作用。有人可以帮忙吗?PointerOver 工作正常,但单击按钮时 Focused 没有做任何事情。
根据评论进行编辑:添加说明-我在发布此问题之前尝试使用 Pressed,但它并没有达到我想要的效果。单击后,我希望颜色保持应用,直到单击另一个按钮,然后单击的新按钮中的文本将更改颜色,单击的上一个按钮将返回默认颜色。按下后,只要松开鼠标按钮,文本就会恢复为默认值。
基于编辑的答案建议:还提供周围代码以查看是否在其他地方出现错误。
xaml - 防止 PointerOver 改变 Checked 按钮的文本颜色
我在尝试让一组单选按钮充当按钮时遇到问题,我的目标是让按钮的文本颜色在悬停时改变,并让它恢复到原始颜色并在点击时加粗。我在这里对以前的类似问题实施建议,但我似乎做错了什么,因为我没有得到想要的行为。当我将鼠标悬停在按钮上时,PointerOver 仍在更改“已检查”按钮的文本颜色
c# - 有没有办法制作嵌套的视觉状态?也许通过从其他视觉状态继承?
我正在使用视觉状态作为导航方式制作嵌套/分层菜单。当在菜单中从左到右时,这非常有效。如果我单击主菜单 3,它会变为蓝色并弹出附加的子菜单,如果我单击子菜单 2,则相同。现在的问题是,如果我单击主菜单 1,子菜单 2 和子菜单 4 将保持“选中”(阅读:蓝色),尽管它们将从屏幕上移除。
我的想法是我想要一个更好的视觉状态结构。我想我需要以下内容:
- 一个未选择所有内容的基本状态
这里的想法是,每当我按下按钮时,它都会取消选择所有内容,并删除所有子菜单。(如果从更远的元素调用,则重新填充)。
- 5 种主菜单状态
理想情况下,这些应该自动继承基本状态,这样我就不能一次全部选择它们,而只能打开一个子菜单。
- 5 * x 子菜单状态
对于每个菜单项,我需要每个菜单项中每个子菜单的状态,理想情况下,这些状态将再次经历循环。取消选择所有内容,选择所选主菜单项,然后选择子菜单项,以及打开相应的子子菜单。
- 5 * x * x SubSub 菜单状态
你现在明白了,这些也应该取消选择所有内容,然后重新选择我以前的选择。
那么,有没有人知道如何解决这个问题,因为我猜这可能会变成 100 个州?是否至少有一种简单的方法可以使每个视觉状态都从其“父级”继承?
xaml - 我可以使用视觉状态更改对象的 Canvas.Zindex 吗?
如何使用视觉状态更改对象的 Canvas.Zindex?我期待能够做这样的事情..
但这不起作用。我还没有找到任何关于如何做到这一点的例子。有人可以帮忙吗?
c# - 使用 xaml 状态以编程方式更改窗口大小
我为程序的主窗口(大和小)创建了 2 个状态,并添加了一个带有 2 个选项卡项的选项卡控件。当我在 tab1 时,我想使用大状态来改变窗口的大小,而当我在 tab2 时,我想使用小状态来改变窗口的大小。我使用了以下代码,但无法更改窗口大小。
Changes 方法是tabcontrol 的SelectionChanged 事件。
我在这里找不到我做错了什么。