반응형

안녕하세요, 츄르 사려고 코딩하는 집사! 코집사입니다.

C# WPF 프로그래밍에서 MainWindow에 버튼을 클릭하면 SubWindow 창이 출력되는 것을 구현할 예정입니다.

구현을 하기 위해서는, 프로젝트에 WPF 창을 추가를 해줘야 합니다.

아래를 따라하면 됩니다.

 

프로젝트 오른쪽 클릭 - 추가 - 새 항목
창(WPF)를 추가 (저는 Window1로 이름을 해줬습니다.)

 

 

1-(1) XAML 소스 코드(SubWindow)
<Window x:Class="WpfApp5.Window1"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

xmlns:local="clr-namespace:WpfApp5"

mc:Ignorable="d"

Title="Window1" Height="450" Width="800">

    <Grid>

        <Button Content="Close"

                    Click="Button_Click"/>

 

    </Grid>

</Window>

 

1-(2) XAML 소스 코드(MainWindow)

<Window x:Class="WpfApp5.MainWindow"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

xmlns:local="clr-namespace:WpfApp5"

mc:Ignorable="d"

Title="MainWindow" Height="450" Width="800">

    <Grid>

        <Button Content="Show Window1"

        Click="Button_Click"/>

    </Grid>

</Window>

 

2-(1) 이벤트 함수(MainWindow)

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Navigation;

using System.Windows.Shapes;

 

namespace WpfApp5

{

/// <summary>

/// MainWindow.xaml에 대한 상호 작용 논리

/// </summary>

    public partial class MainWindow : Window

    {

        public MainWindow()

        {

            InitializeComponent();

        }

 

        private void Button_Click(object sender, RoutedEventArgs e)

        {

            Window1 window1 = new Window1();

            window1.Show(); //show를 했을 때 window1을 열었을 때, mainwindow로 포커스를 옮길 수 있는데

            //window1.ShowDialog(); // ShowDialog를 하면 mainwindow로 포커스를 옮길 수 없음.

        }

    }

}

    

2-(2) 이벤트 함수(SubWindow)

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Shapes;

 

namespace WpfApp5

{

/// <summary>

/// Window1.xaml에 대한 상호 작용 논리

/// </summary>

    public partial class Window1 : Window

    {

        public Window1()

        {

            InitializeComponent();

        }

 

        private void Button_Click(object sender, RoutedEventArgs e)

        {

            this.Close(); //클릭하면 창 꺼짐

        }

    }

}

 

 

3. 결과

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기