1

ShowDialogメソッドに渡すカスタム XAML UserControl クラスを作成しました。UserControl で生成された他のイベント (ListItem をダブルクリックするなど) を介して、ダイアログの [OK] ボタンのクリックをトリガーできるようにしたいと考えています。ダブルクリックを問題なく処理するコードがあります (MouseDown イベントに関連付けられ、クリック数をチェックしました) が、親ダイアログに新しいイベントをトリガーして閉じる方法がわかりません。

// Bound to TextBlock, part of a ListBox on a UserControl
private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e)
{
    if (e.ClickCount == 2)
    {
        // trigger dialog to close with OK button
    }
}
4

1 に答える 1

2

ユーザー コントロールに IDialogContent を実装させます。次に、実装した CloseDialog イベントを直接呼び出すことができます。これにより、ダイアログが閉じられます。

特定の拡張機能に適合するように、ユーザー コントロール/ビュー モデルまたはその他のデータに何らかの状態を設定して、フォローアップ コードでそれをどのように処理するかを決定する必要があります。

// Bound to TextBlock, part of a ListBox on a UserControl
    private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e)
    {
        if (e.ClickCount == 2)
        {
            CloseDialog(this, EventArgs.Empty);
        }
    }
于 2012-09-10T21:21:43.003 に答える