1

Flexモバイルアプリ(または任意のFlex 4アプリケーション)の場合-他の2つのフィールドの内容に応じて、ボタンを有効/無効にするにはどうすればよいですか?

ここに画像の説明を入力してください

以下に非常に単純なテストコードを貼り付けています。問題はFlashBuilder4.7の構文エラーです。The entity name must immediately follow the '&' in the entity reference.これはおそらくアンパサンドが特殊文字であることを意味しますが、この(おそらく頻繁な)問題を解決するにはどうすればよいですか?

TestApp.mxml:

<?xml version="1.0" encoding="utf-8"?>
<s:ViewNavigatorApplication 
    xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    firstView="views.Home" 
    applicationDPI="160">
</s:ViewNavigatorApplication>

views / Home.mxml:

<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        title="How to enable Login button?">

    <s:layout>
        <s:VerticalLayout paddingTop="8"
            horizontalAlign="center" gap="8" />
    </s:layout>

    <s:Label text="Username:" />
    <s:TextInput id="_username" />
    <s:Label text="Password:" />
    <s:TextInput id="_password" />

    <s:Button id="_login" 
              label="Login" 
              enabled="{_username.text.length > 0 && _password.text.length > 0}" />
</s:View>
4

2 に答える 2

3

mxmlのCDATAの外部に書き込む場合は&&、に置き換えます。&amp;&amp;

また、eventdispatcherではなく、変更を報告できないため、実行時に警告が発生するため、_username.text!=''代わりに使用することをお勧めします。ただし、ボタン自体が変更され、バインディングの更新が発生したことを報告するため、ボタンの可用性は更新されます。_username.text.length > 0textlengthtextTextInput

于 2012-12-20T14:17:51.573 に答える
0

バインディング式を使用する場合。mxmlは&&を考慮せず、式を次のように記述します

&amp; &amp;

....また、mxmlはエスケープ文字を読み取りません(タブの場合は\ tなど)...むしろ、actionscriptで式を記述してから、データバインディングを使用します.cheers ;-)

于 2017-02-27T21:35:05.697 に答える