ボタンのコマンドをアクションにバインドした後、私はプログレスイベントを公開するオブジェクトを呼び出します。宣言的プログレスバーバインディング
event System.EventHandler<ProgressChangedEventArgs> ProgressChanged
私は最善の方法で私のXAMLでそれを表示したいと思います。
一つの方法は、私はちょうど性質
member x.CompleteInference(algorithm:IGeneratedAlgorithm) =
x.IterationVisible <- true
algorithm.ProgressChanged.Add(fun args -> x.Iteration <- args.Iteration)
algorithm.run()
x.IterationVisible <- false
を更新してしまうし、私がアクションを実行するために呼ばれています私のVMに2つのバインド可能なフィールド
member x.Iteration with get() = _iteration
and set(v:int) = _iteration <- v
x.NotifyPropertyChanged <@[email protected]>
member x.IterationVisible with get() = _iterationVisible
and set(v:bool) = _iterationVisible <- v
x.NotifyPropertyChanged <@[email protected]>
を公開することができます
これは2つの質問につながります:
012 WPFによって処理することができこの中間Iteration
プロパティを経由せず、progressChanged
イベントを公開するのF#で直接的な方法はあり、?それは、私たちが得ることができる最も宣言的なものか、常にどこかの州を保存しなければならないのでしょうか?
さらに、この「ステートマシン」バインドを行うための自然な方法がありますか?XAML?