programing

WPF의 첫 번째 창에서 두 번째 창을 열려면 어떻게 해야 합니까?

muds 2023. 5. 6. 16:46
반응형

WPF의 첫 번째 창에서 두 번째 창을 열려면 어떻게 해야 합니까?

저는 WPF가 처음입니다.나는 1번 창문과 2번 창문과 같은 두 개의 창문을 가지고 있습니다.1번 창에 버튼이 하나 있습니다.그 버튼을 클릭하면 2번 창이 열려야 합니다.제가 어떻게 해야 하나요?

제가 시도한 코드는 다음과 같습니다.

window2.show();

코드를 입력합니다.window1.

private void Button_Click(object sender, RoutedEventArgs e)
{
    window2 win2 = new window2();
    win2.Show();
}

새 WPF 응용 프로그램을 생성한 경우 .xaml 파일과 .cs 파일이 있어야 합니다.기본 창을 나타냅니다.하위 창을 나타낼 추가 .xaml 파일 및 .cs 파일을 만듭니다.

주 창.xaml

<Window x:Class="WpfApplication2.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button Content="Open Window" Click="ButtonClicked" Height="25" HorizontalAlignment="Left" Margin="379,264,0,0" Name="button1" VerticalAlignment="Top" Width="100" />
    </Grid>
</Window>

MainWindow.xaml.cs

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void ButtonClicked(object sender, RoutedEventArgs e)
    {
        SubWindow subWindow = new SubWindow();
        subWindow.Show();
    }
}

그런 다음 필요한 코드를 다음 클래스에 추가합니다.

SubWindow.xaml
SubWindow.xaml.cs
private void button1_Click(object sender, RoutedEventArgs e)
{
    window2 win2 = new window2();
    win2.Show();
}

두 번째 창이 다음과 같이 정의된다고 가정합니다.public partial class Window2 : Window다음 방법으로 수행할 수 있습니다.

Window2 win2 = new Window2();
win2.Show();

이것은 저에게 도움이 되었습니다.소유자 방법은 기본적으로 동일한 창을 추가로 사용하려는 경우 창을 다른 창에 연결합니다.

LoadingScreen lc = new LoadingScreen();
lc.Owner = this;
lc.Show();

이것도 고려해 보세요.

this.WindowState = WindowState.Normal;
this.Activate();

WPF에서는 Show() 및 ShowDialog() 메서드를 사용하여 몇 가지 옵션을 제공합니다.

새 창이 열렸을 때 열려 있는 창을 닫으려면 Show() 방법을 사용할 수 있습니다.

Window1 win1 = new Window1();
win1.Show();
win1.Close();

ShowDialog()도 창을 열지만, 이 경우 이전에 연 창을 닫을 수 없습니다.

이와 같은 새 창의 인스턴스를 만들어야 합니다.

var window2 = new Window2();

인스턴스가 있으면 수행할 작업에 따라 Show() 또는 ShowDialog() 메서드를 사용할 수 있습니다.

window2.Show();

또는

var result = window2.ShowDialog();

ShowDialog()가 다음을 반환합니다.Nullable<bool>그게 필요하시면요

당신은 1번 창에 버튼을 만들고 두 번 클릭할 수 있습니다.그러면 새 클릭 핸들러가 생성되고 내부에서 다음과 같은 내용을 작성할 수 있습니다.

var window2 = new Window2();
window2.Show();

다음 코드를 사용할 수 있습니다.

private void OnClickNavigate(object sender, RoutedEventArgs e)
{
    NavigatedWindow navigatesWindow = new NavigatedWindow();
    navigatesWindow.ShowDialog();
}

언급URL : https://stackoverflow.com/questions/11133947/how-do-i-open-a-second-window-from-the-first-window-in-wpf

반응형