1

如果我有一个定义了某些状态的组件,有没有办法在设计模式下进行更改但不将其绑定到特定状态?例如,如果我有 state1 和 state2,那么设计模式的任何更改都将基于 state1 或 state2(即 width.state1)。我知道这是 Flex 的发展方向,但我正在从 Flex 3 应用程序过渡,现在我只想更改宽度而不是 width.state1。

4

3 回答 3

2

我不知道如何在设计模式下做到这一点,但在 MXML 你有这样的事情:

<component id="myid" width.state1="100" width.state2="100" />

如果您只想设置与状态无关的宽度,请执行以下操作:

<component id="myid" width="100"  />

另外,我不确定我是否会就 Flex 的发展方向发表任何笼统的声明。迄今为止,Adobe 已经改变了几次方向。构建移动皮肤时;他们建议不要完全使用 MXML;并且对于移动皮肤中的性能状态是代码中的硬编码更改。

于 2011-06-03T15:09:13.197 回答
2

这是我不喜欢的 Flash Builder 的“功能”之一。如果您可以<base state>从“状态”下拉列表中进行选择,那还不错,但无论出于何种原因,这都不是一个选项。

据我所知,没有办法在不影响特定状态的情况下使用设计模式。我会接受 J_A_X 的建议,并在源代码模式下自己编写代码。

编辑:Flextras 添加了一个很好的例子,说明如何为特定状态或所有状态编写属性。

于 2011-06-03T15:10:23.050 回答
1

有一种方法可以强制属性独立于视图状态:在设计窗口中单击鼠标右键并选择相关组件,然后在上下文菜单“将当前属性应用于所有状态”中选择最后一个选项。但是该选项并不是很灵活:它将删除您为该组件设置的所有视图相关属性。还要小心您选择的组件。如果您的鼠标指针不在正确的位置,则在设计窗口中单击鼠标右键将选择不同的组件。

于 2011-08-26T14:50:18.693 回答