Проблема с DialogHost
Здавствуйте, нужна булевая функция,в которой создается DialogHost c кнопками "OK" и "cancel" на нем,а также с возможностью узнать какая кнопка нажата. Программа ждет нажатия какой-то из кнопок и возвращает true если "OK" и false если "cancel" соответственно.
public bool Dialog()
{
DialogHost Host = new DialogHost { VerticalAlignment = VerticalAlignment.Stretch, IsManipulationEnabled = true };
Grid DialogGrid = new Grid { Width = 450, Height = 120 };
{
Button OK = new Button
{
Content = "OK",
VerticalAlignment = VerticalAlignment.Bottom,
HorizontalAlignment = HorizontalAlignment.Right,
Margin = new Thickness(0, 0, 10, 10),
Focusable = false,
};
OK.SetResourceReference(Button.StyleProperty, "MaterialDesignFlatButton");
OK.SetValue(Grid.ColumnSpanProperty, 3);
OK.Click += OK_Click;
void OK_Click(object sender, RoutedEventArgs e)\\При срабатывании обработчика функция Dialog() должна вернуть true
{
Host.IsOpen = false;
grid.Children.Remove(Host);
}
DialogGrid.Children.Add(OK);
}
{
Button Cancel = new Button
{
Content = "Cancel",
VerticalAlignment = VerticalAlignment.Bottom,
HorizontalAlignment = HorizontalAlignment.Right,
Margin = new Thickness(0, 0, 10, 10),
Focusable = false,
};
Cancel.SetResourceReference(Button.StyleProperty, "MaterialDesignFlatButton");
Cancel.SetValue(Grid.ColumnSpanProperty, 3);
Cancel.Click += Cancel_Click;
void Cancel_Click(object sender, RoutedEventArgs e)
{
Host.IsOpen = false;
grid.Children.Remove(Host);
}
DialogGrid.Children.Add(Cancel);
}
Host.SetResourceReference(StyleProperty, "MaterialDesignEmbeddedDialogHost");
Host.SetValue(Grid.ColumnSpanProperty, 3);
Host.SetValue(Grid.RowSpanProperty, 2);
Host.SetValue(Panel.ZIndexProperty, 2000);
grid.Children.Add(Host);
Host.ShowDialog(DialogGrid);
}
И вот-так долже быть вызов
if(Dialog()==true){
...
}