2010-11-23 4 views
0

私はSwizフレームワークを使用していますが、viewstackのselectedIndexをバインド可能なプロパティで更新しようとしています。それは私のイベントハンドラにバインド可能な変数を更新するが、メインアプリケーションファイルのviewstackはそれを実現することはない。何が問題なの?Bindable変数がviewstack/swizで更新されない

THX

-Mike

================================

MAIN APP FILE

<mx:Script> 
    <![CDATA[ 
     import reg.model.ApplicationViewModel; 
     import beyaz.reg.swiz.SwizBeans; 
     import org.swizframework.Swiz; 

     [Autowire(bean="applicationViewModel")] 
     [Bindable] 
     public var applicationViewModel:ApplicationViewModel; 

     private function preInitialize():void { 
      Swiz.loadBeans([ SwizBeans ]); 
     } 

    ]]> 
</mx:Script> 


     <mx:ViewStack id="theViewstack" **selectedIndex=" {applicationViewModel.mainViewIndex}"** width="100%" height="100%"> 
    <prescreen:Prescreen id="prescreenView"/> 
    <login:Login id="loginView"/> 
    <profile:Profile id="profileView"/> 

</mx:ViewStack> 

=================================

ApplicationViewModel

パッケージcom.reg.model {publicクラスApplicationViewModel {公共の静的定数のPRESCREEN_VIEW:INT = 0。 パブリックstatic const LOGIN_VIEW:int = 1; パブリック静的定数PRSNL_INFO_VIEW:int = 2;

[Bindable] 
    public var message:String = ""; 

    [Bindable] 
    public var mainViewIndex:int = PRESCREEN_VIEW; 
} 

}

===========================

コントローラ

パッケージCOM .reg.controller {

import com.reg.model.ApplicationViewModel; 

import mx.collections.ArrayCollection; 
import mx.controls.Alert; 
import mx.events.DynamicEvent; 
import mx.rpc.events.FaultEvent; 
import mx.rpc.events.ResultEvent; 
import mx.core.Application; 

import org.swizframework.Swiz; 
import org.swizframework.controller.AbstractController; 

public class PrescreenController// extends AbstractController 
{ 
    public static const START_REGISTRATION:String = "startReg"; 

    [Autowire(bean="applicationViewModel")] 
    [Bindable] 
    public var applicationViewModel:ApplicationViewModel; 


    [Mediate(event="startReg")] 
    public function startReg():void 
      { 

       //CODE GETS TO HERE! 
       applicationViewModel.mainViewIndex = ApplicationViewModel.PRSNL_INFO_VIEW; 

    } 


} 

}

+0

誰でもいいですか?誰でも?変数をバインドするときに私が探すことができる一般的な落とし穴がありますか? – Mike6679

+0

あなたはどのバージョンのSwizを使用していますか?最新のバージョンへのアップグレードを検討するべきです(Swiz 1.0 RC2、または[Git](https://github.com/swiz/swiz-framework)の最新バージョンをお勧めします)。とにかく、Swizの設定を投稿してください。あなたの 'applicationViewModel'はPrototype Beanですか? –

+0

Gerhardありがとうございます。それは問題でしたが、現在はコンパイラエラーが発生しています。 1120:未定義のプロパティSwizへのアクセス。 1172:定義org.swizframework:Swizが見つかりませんでした。 – Mike6679

答えて

0

私はちょうど先週、この問題でちょっとしたことがありました。

他のタグの前に[Bindable]タグを入れてください。なんらかの理由で、[Bindable]タグを先に入れない限り、Flexコンパイラは適切なPropertyChangeEventをディスパッチしません。

関連する問題