2017-03-31 5 views
0

私はCaliburn Microで働いています。しかし、私は解決する方法がわからない問題に遭遇しました。プロパティを持たないCaliburn Micro無効化ボタン?

問題はボタンを無効にしたいのですが、すべてのWebサイトにはpropertysのソリューションしかありません。例えば、私のボタンの機能はNetmqとの接続を確立するスレッドを開始するだけです。だから私はそれらを無効にする方法を知りません。 Googleを使って多くの検索をしましたが、何か役立つものは見つかりませんでした。ボタン機能

public void startPubButton() 
    { 
     Thread entryThread = new Thread(startPublisher); 
     entryThread.IsBackground = true; 
     entryThread.Start(); 
    } 

例は多分スレッドが実行される場合にのみ、ボタンを有効にする可能性がありますか?

答えて

1

これは、CM配線の背後にある唯一の前提です.CommstartPubButtonブールプロパティを用意して、guardプロパティを持つロジックに従ってボタンを有効または無効にできるかどうかを確認することです。あなたがしたいことをするには、ある方法でNotifyOfPropertyChange(() => CanstartPubButton);で電話してください。プロパティでのロジック(必要なだけの取得)はあなた次第です。私があなたに落としてくれるもう1つのことは、GitHubディスカッションのリポジトリ自体のスレッドです。

https://github.com/Caliburn-Micro/Caliburn.Micro/issues/422

+0

これより短い方法がありますか? 'private bool _sendMes = false; public bool SendMes { get {return _sendMes; } セット { _sendMes = value; NotifyOfPropertyChange(()=> SendMes); NotifyOfPropertyChange(()=> CanSendMesButton); }} パブリックブールCanSendMesButton {取得{戻りSendMes。 } } ' – SvNawesome

関連する問題