none
찰스 페졸드 wpf 책을 보면서 실습중인데요 Onstart, OnSessionEnding 을 override 할수없네요,, RRS feed

  • 질문

  • 비주얼 스튜디오 2015 커뮤니티 버전이구요 

    wpf 어플리케이션에서 

    책예제에서는 

     protected override void OnStartup(StartupEventArgs args) //시작될때 

     protected override void OnSessionEnding(SessionEndingCancelEventArgs args) //종료할때

     위의 2가지를 오버라이드 해서 사용하던데요  비쥬얼 스튜디오 2015 에서는 저게 사용이안됩니다 ;;;

    저위의 이벤트 핸들러와 같은 기능을 가진건 없는가요??? 

    ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

    제가 비주얼 버전이 높아서 그런지 책내용이랑 다른게 너무 많네요 ,,,


    비주얼 스튜디오 2015로 C# 프로그래밍을 시작했는데 자료도 별로없어서 힘드네요 ㅠ


    • 편집됨 푸르르 2015년 9월 8일 화요일 오후 1:55
    2015년 9월 8일 화요일 오후 1:53

답변

  • Window 기반 타입에서는 OnStartup이 없습니다. 대신 초기화를 위해서라면 생성자의 InitializeComponent 전/후에 하거나 아니면 Loaded 이벤트를 구독해서 처리하면 됩니다.

        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
    
                // 1. 여기서 초기화를 하거나
    
                // 2. 또는 Window.Loaded 이벤트에서 하거나
                this.Loaded += MainWindow_Loaded;
            }
    
            private void MainWindow_Loaded(object sender, RoutedEventArgs e)
            {
            }
        }

    아무래도 C#의 상속 구문에 대해 익숙하지 않으신 듯 한데, 다음의 책이 도움이 되실 것입니다. (이상 광고와 함께 한 답변이었습니다. ^^)

    시작하세요! C# 6.0 프로그래밍  : 기본 문법부터 실전 예제까지
    ; http://www.yes24.com/24/goods/19427525?scode=032

    • 답변으로 표시됨 SMPark82 2015년 9월 9일 수요일 오전 5:09
    2015년 9월 9일 수요일 오전 4:47
  • 안녕하세요, 푸르르 님.
    Microsoft MSDN의 Forum 사이트를 방문해 주셔서 감사합니다.
    문의 하신 "찰스 페졸드 wpf 책을 보면서 실습중인데요 Onstart, OnSessionEnding 을 override 할수없네요,," 문의에 대한 답변을 드리겠습니다.

    Onstartup Override는 다음 stackoverflow의 답변을 참고하십시오.

    http://stackoverflow.com/questions/21712053/wpf-mainwindow-override-onstartup
    WPF MainWindow Override OnStartup
    Idk what you mean or where you stuck at. I would check Build Actions of App.xaml then I would take a look to this site.
    http://www.erikojebo.se/Code/Details/202
    That guy explains is pretty well :)

    Also your question is sort of a duplicate. Check this out: How to change StartupUri of WPF Application?

    그리고 Visusal Studio 2015에서 WPF 프로그램은 다음 웹 문서에 초보자를 위한 Getting Started가 설명됩니다.

    https://msdn.microsoft.com/en-us/library/mt149845.aspx
    Getting Started with WPF > Visual Studio 2015
     
    제시해 드린 답변이 도움이 되었기를 바랍니다.
      
    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다


    • 답변으로 표시됨 푸르르 2015년 9월 9일 수요일 오전 4:08
    • 편집됨 SMPark82 2015년 9월 9일 수요일 오전 5:10
    2015년 9월 9일 수요일 오전 12:31

모든 응답

  • 책의 어느 부분을 이야기하는지 모르겠지만, 일단 Application 클래스라고 생각되는데 OnStartup, OnSessionEnding 모두 2015에서도 잘 오버라이드됩니다.

    2015년 9월 9일 수요일 오전 12:30
  • 안녕하세요, 푸르르 님.
    Microsoft MSDN의 Forum 사이트를 방문해 주셔서 감사합니다.
    문의 하신 "찰스 페졸드 wpf 책을 보면서 실습중인데요 Onstart, OnSessionEnding 을 override 할수없네요,," 문의에 대한 답변을 드리겠습니다.

    Onstartup Override는 다음 stackoverflow의 답변을 참고하십시오.

    http://stackoverflow.com/questions/21712053/wpf-mainwindow-override-onstartup
    WPF MainWindow Override OnStartup
    Idk what you mean or where you stuck at. I would check Build Actions of App.xaml then I would take a look to this site.
    http://www.erikojebo.se/Code/Details/202
    That guy explains is pretty well :)

    Also your question is sort of a duplicate. Check this out: How to change StartupUri of WPF Application?

    그리고 Visusal Studio 2015에서 WPF 프로그램은 다음 웹 문서에 초보자를 위한 Getting Started가 설명됩니다.

    https://msdn.microsoft.com/en-us/library/mt149845.aspx
    Getting Started with WPF > Visual Studio 2015
     
    제시해 드린 답변이 도움이 되었기를 바랍니다.
      
    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다


    • 답변으로 표시됨 푸르르 2015년 9월 9일 수요일 오전 4:08
    • 편집됨 SMPark82 2015년 9월 9일 수요일 오전 5:10
    2015년 9월 9일 수요일 오전 12:31
  • public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);
        }
    }

    으로 하면 되구요 ,,, 

    제일 처음에 wpf 프로젝트를 만들면 

    namespace WpfApplication6
    {
        /// <summary>
        /// MainWindow.xaml에 대한 상호 작용 논리
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();

            }

        }
    }

    이런식으로 되어있는데 저기선 OnStratup 을 적용할수없는건가요?

    2015년 9월 9일 수요일 오전 4:21
  • Window 기반 타입에서는 OnStartup이 없습니다. 대신 초기화를 위해서라면 생성자의 InitializeComponent 전/후에 하거나 아니면 Loaded 이벤트를 구독해서 처리하면 됩니다.

        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
    
                // 1. 여기서 초기화를 하거나
    
                // 2. 또는 Window.Loaded 이벤트에서 하거나
                this.Loaded += MainWindow_Loaded;
            }
    
            private void MainWindow_Loaded(object sender, RoutedEventArgs e)
            {
            }
        }

    아무래도 C#의 상속 구문에 대해 익숙하지 않으신 듯 한데, 다음의 책이 도움이 되실 것입니다. (이상 광고와 함께 한 답변이었습니다. ^^)

    시작하세요! C# 6.0 프로그래밍  : 기본 문법부터 실전 예제까지
    ; http://www.yes24.com/24/goods/19427525?scode=032

    • 답변으로 표시됨 SMPark82 2015년 9월 9일 수요일 오전 5:09
    2015년 9월 9일 수요일 오전 4:47