IWebMatrixHost ShowDialog方法上的触发器对话框按钮



我创建了一个自定义XAML UserControl类,并将其传递给ShowDialog方法。我希望能够通过UserControl中生成的其他事件触发单击对话框上的OK按钮,例如双击ListItem。我有处理双击的代码(甚至绑定到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
    }
}

让您的用户控件实现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);
        }
    }

最新更新