В коде позади я создал новое окно, которое появляется, когда я нажимаю кнопку в главной форме. В окне у меня есть изображение и текст с кнопкой, чтобы закрыть окно. В коде позади, как я могу закрыть только это окно? Я пошел вперед и создал btn.Click += new RoutedEventHandler(btn_Click);
, но мне нужно иметь возможность передать в окне некоторые способы, как его можно увидеть в этой функции. Есть ли способ проверить, нажата ли кнопка, где я создаю окно и кнопку прагматично, чтобы я мог закрыть это окно?
Show_Dialog1_Click
- кнопка на главной форме.
вот код для окна и кнопки
private void Show_Dialog1_Click(object sender, RoutedEventArgs e)
{
Window wnd = new Window();
Grid grid = new Grid();
wnd.Height = 450;
wnd.Width = 450;
wnd.MinHeight = 450;
wnd.MinWidth = 450;
wnd.MaxHeight = 450;
wnd.MaxWidth = 450;
grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(30) });
grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(30) });
grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(300) });
grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(40) });
grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(100) });
grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
wnd.Content = grid;
BitmapImage src = new BitmapImage();
src.BeginInit();
src.UriSource = new Uri("jimmy.jpg", UriKind.Relative);
src.EndInit();
Image i = new Image();
i.Source = src;
i.Stretch = Stretch.Uniform;
Button btn = new Button();
btn.Content = "Close";
btn.Height = 30;
btn.Width = 150;
btn.VerticalAlignment = VerticalAlignment.Bottom;
btn.HorizontalAlignment = HorizontalAlignment.Center;
//btn.Click += new RoutedEventHandler(btn_Click);
Label lblDialog = new Label();
lblDialog.Content = "Sample Dialog Box";
lblDialog.FontWeight = FontWeights.Bold;
lblDialog.Foreground = Brushes.Black;
lblDialog.Background = Brushes.LightBlue;
Label lblexample = new Label();
lblexample.Content = "This is an example of a standard dialog box component.";
lblexample.FontSize = 12;
Grid.SetRow(lblDialog, 0);
Grid.SetRow(lblexample, 1);
Grid.SetRow(i, 2);
Grid.SetRow(btn,3);
grid.Children.Add(lblDialog);
grid.Children.Add(lblexample);
grid.Children.Add(i);
grid.Children.Add(btn);
wnd.Owner = this;
wnd.ShowDialog();
}