2

Caliburn.Micro フレームワークを使用したプロジェクトで VS スタイルの Tabcontrol (MahApps.Metro プロジェクトから) を使用しています。Conductor.Collection.OneActive から継承した ViewModel にタブが閉じられていることを知らせる方法を探しています。 . 残念ながら、閉じるボタンは既にスタイルに含まれているため、少し混乱しています。この VS Tabcontrol スタイルの MahApps ソース ファイルを調べたところ、各閉じるボタンが CloseCommmand (Command="{Binding Path=CloseCommand}") にバインドされていることがわかりました。そのボタンのクリックにどのように反応できますか?

4

2 に答える 2

0

DeactivateItem閉じるボタンにイベントを添付します。

<Button cal:Message.Attach="DeactivateItem($dataContext, 'true')" />

DeactivateItemConductor クラスで定義されている caliburn micro のフレームワーク メソッドです。このメソッドは、関連付けられたビューを閉じ、コンダクター コレクションからビューを削除します。

ご参考までに:

フレームワーク方式。

public override void DeactivateItem(T item, bool close) {
            if(item == null || !item.Equals(ActiveItem))
                return;

            CloseStrategy.Execute(new[] { ActiveItem }, (canClose, items) => {
                if(canClose)
                    ChangeActiveItem(default(T), close);
            });
        }
于 2015-06-26T16:51:55.737 に答える