C# WPF and GUI - Pages and Navigation

Поделиться
HTML-код
  • Опубликовано: 10 ноя 2015

Комментарии • 140

  • @steffenmlgaardlarsen5463
    @steffenmlgaardlarsen5463 4 года назад +94

    1 hour of googling failed me. This video answered my question in 7 minutes - Thank you.

    • @wesleycoomans1433
      @wesleycoomans1433 4 года назад +7

      Broke record with 4 days :D

    • @RugbugRedfern
      @RugbugRedfern 3 года назад +6

      What is it about WPF that makes everything so hard to learn...

    • @C4rnee
      @C4rnee 3 года назад +4

      @@RugbugRedfern There are lots of complex topics which can only be understood if you understand other complex topics, so I guess you just have to read up a ton of theory before you can actually make something that feels like it should be easy to make

    • @sergsergesrgergseg
      @sergsergesrgergseg 3 года назад +4

      @@RugbugRedfern compared to react, wpf is so overly complicated

    • @RugbugRedfern
      @RugbugRedfern 3 года назад +2

      @@sergsergesrgergseg I'm switching from WPF to node.js + electron now, so much easier

  • @joseangelbautistar.44
    @joseangelbautistar.44 4 года назад +39

    almost 3 hours searching exactly this on google and it was soo simple. Thank you a lot

  • @mjparsons
    @mjparsons 7 лет назад +19

    +1 for the NavigationUIVisibility="Hidden". That's exactly what I was looking for!

    • @limtingfei994
      @limtingfei994 4 года назад

      Exactly! That's really annoying and complicated when I tried to disable it from the control template

  • @CodeSeekers
    @CodeSeekers 3 года назад +10

    Best Tutorial ❤ Simple and Perfectly Explained the Topic, You saved me from attending a boring lecture of 2 hours :D , Thank you very much Sir,

  • @joybotics
    @joybotics 5 лет назад +3

    Excellent and concise tutorial! Thank you.

  • @zdillzz
    @zdillzz 7 лет назад +1

    Thanks for the video! Helped me out loads.

  • @angamandu
    @angamandu 5 лет назад +3

    This was super helpful, thank you!

  • @krishnavankadari
    @krishnavankadari 7 лет назад +1

    That's so cool presentation, thanks a lot👏🏾👏🏾👏🏾

  • @danielgorgis2616
    @danielgorgis2616 5 лет назад

    Excatly what i was looking for! thanks man

  • @jaycedam1234
    @jaycedam1234 4 года назад +2

    Short and simple, thank you!

  • @trieukhac8776
    @trieukhac8776 5 лет назад +1

    Thank you. Love you so much for uploading this video :D

  • @doj3168
    @doj3168 4 года назад +1

    Man, you helped me with my project. You explained such thing better than Indian programmers. I express my gratitude for your job.

  • @niphomahlangu2733
    @niphomahlangu2733 3 года назад

    Thank you very much. You've solved most of my problems. You're appreciated.👌🔥🔥🔥

  • @shjin
    @shjin 4 года назад +2

    Simple and very effective explanation!

  • @josephmbote4167
    @josephmbote4167 2 года назад

    What a great short tutorial with great impact

  • @amiransari8483
    @amiransari8483 7 дней назад

    nice work. simplicity is the best

  • @msgracebk2978
    @msgracebk2978 3 года назад

    I am so thankful for this video.. Thanks for taking your time!!

  • @floadcope4039
    @floadcope4039 4 года назад +1

    Thank you! This was really helpful.

  • @jonasb2047
    @jonasb2047 7 лет назад

    Can't believe this guy works in a public school haha he knows more than some of my University lecturers

  • @SLSL-yy4um
    @SLSL-yy4um 6 лет назад

    You could use a grid inside the stack panel for your button too

  • @gaminglegend372
    @gaminglegend372 4 года назад

    Thx sooo much, a simple tutorial that gets straight to the point. Now we can safely say that youtube is more superior than google.

  • @maulanasatyaadi
    @maulanasatyaadi 9 месяцев назад

    thanks bro, i've been learning wpf for 1 day.

  • @mr.es1857
    @mr.es1857 6 лет назад

    Thank you i'm using this aproach for a WPF.
    -I have this main window with it's view model called MainViewModel.
    - This main window can hold several pages in the frame all pages have their own viewmodel.
    -I have a button in one of the pages and in it's button click i want to display a "Fly out" in the "MainWindow" . The content of this fly out depends of the page that is actually shown in the frame. This part works correctly but i can't achive to open the fly out from the page 's button click.
    -I was wondering if there is any way to do this or if you have an advice for me.

  • @kiwichi4488
    @kiwichi4488 6 лет назад

    Now how do you page these pages scrollable if they are too large for the frame?

  • @amanverma193
    @amanverma193 4 года назад

    You made my day....Thanks a million

  • @jeffstarkmann6381
    @jeffstarkmann6381 7 лет назад

    Thank you, men !

  • @JUNDKGOD
    @JUNDKGOD 3 года назад +2

    Nice tutorial for new guys like me. Simplily and clearly. maybe its not need to say on this video, but I think there is one bug here that is everytime when you click the "Page # " button, the "main“ frame is gonna creat a new page. So I think the best way is to change the funtion of the button to navigate the pages instead of creating if the page has existed.

    • @000Graffy000
      @000Graffy000 Год назад +1

      I was searching the comments to make sure, that somebody like me is already sayed about this. :D

  • @pepperplume
    @pepperplume 8 лет назад +1

    Nice vid, have a thumbs up

  • @datathree
    @datathree 7 лет назад

    Hey, can I increase the Size of the new Page beacuse it is way to small for my project every time i try to increase it it wouldnt work

  • @datpudding5338
    @datpudding5338 Год назад

    Seven years after upload the best solution I found - sadly I got both pages to shine through each other xD

  • @jaym9846
    @jaym9846 5 лет назад

    Can I have multiple instances of a Page1 and Page2? Can I keep a page instance loaded even if it not visible?
    For example, if I have buttons Page1a, Page1b, Page2a, Page2b where clicking Page1a instantiates and displays the first instance of Page1,
    can I then click Page1b to instantiate and displays the second instance of Page1 without unloading first instance from memory?

  • @simo5465
    @simo5465 5 лет назад +16

    Thank you very much :) very helpfull .
    For me work like this :
    Page1 page1= new Page1();
    Main.Content= page1.Content;
    Hope it helps somebody :)

    • @savideos6916
      @savideos6916 5 лет назад +4

      In Visual Studio 2017, you can also navigate using this way:-
      Button_Click(object sender, RoutedEventArgs e)
      {
      Frame1.Navigate(new Page1());
      }
      this will do the same as..... Frame1.Content = new Page1();
      Thankyou... $@

    • @dmg4011
      @dmg4011 5 лет назад

      THANK YOU

    • @Leo-kr4vw
      @Leo-kr4vw 5 лет назад +5

      Thanks!
      I also added some more lines, check this:








      //*********************************************************************
      private Page1 p1;
      private Page2 p2;
      private Page3 p3;
      private void Button_Click_1(object sender, RoutedEventArgs e)
      {
      if (p1 == null)
      {
      p1 = new Page1();
      }
      Main.Content = p1.Content;
      }
      private void Button_Click_2(object sender, RoutedEventArgs e)
      {
      if (p2 == null)
      {
      p2 = new Page2();
      }
      Main.Content = p2.Content;
      }
      private void Button_Click_3(object sender, RoutedEventArgs e)
      {
      if (p3 == null)
      {
      p3 = new Page3();
      }
      Main.Content = p3.Content;
      }
      // Clear(delete) all pages
      private void Button_Click_4(object sender, RoutedEventArgs e)
      {
      p1 = null;
      p2 = null;
      p3 = null;
      Main.Content = null;
      }

  • @kennylunaaa5596
    @kennylunaaa5596 Год назад

    Does this work the same way if the navigation buttons are on the pages, instead of the main window?

  • @tomken5919
    @tomken5919 6 лет назад

    How do you navigate back to the home screen though? Once I navigate the page 1 and 2, I am stuck there. How do I get back to the main window?

  • @mobinabdolalipour2925
    @mobinabdolalipour2925 8 лет назад +10

    Thank You Thank You Thank You. Helped me a lot

  • @sealkeen
    @sealkeen 5 лет назад

    Thank you, sir!

  • @TwoToedSloth
    @TwoToedSloth 2 года назад

    Very Helpful. Thank you from the future

  • @brigoose7945
    @brigoose7945 4 года назад

    st question you start off in visual studio....what did you open, i usually open project/win application. What have you opened for the plain page

  • @shmutalov
    @shmutalov 8 лет назад +1

    Good tutor. Thank you

  • @Chefspatz
    @Chefspatz 2 года назад

    I love it! Thanks! :)

  • @mr.es1857
    @mr.es1857 6 лет назад

    well i know that this question would out of context but... i´m having problems when i try too shutdown my app im using the property of ShutdownMode in the App.xaml. Putting it's value to "OnLastWindowClose" and it does't work. When i close the app and look for it in my computers task manager i can see that the app is running in second plane.

  • @77Zamien
    @77Zamien 7 лет назад +5

    Good presentation. Is this possible to do within XAML to stay more MVVM correct?

    • @ilfordgrammarschool4270
      @ilfordgrammarschool4270  7 лет назад +7

      Sure, I would just set up data binding on the Content property and handle the page switching from the ViewModel. . You could even set up the page switching control using two way binding on a different element.
      Here is another MVVM approach: rachel53461.wordpress.com/2011/12/18/navigation-with-mvvm-2/
      Have a look here at a possible pure xaml approach: msdn.microsoft.com/en-us/library/ms750478(v=vs.110).aspx

  • @michaelhaddad2190
    @michaelhaddad2190 8 лет назад

    Awesome Tutorial. I do not know why it has so little views.

  • @laurencegr9978
    @laurencegr9978 3 года назад

    Very helpful and concise.

  • @symonxd
    @symonxd 4 года назад

    Very informative, arigato

  • @csscoder9964
    @csscoder9964 3 года назад

    Ohh thank you sooo much. This video is great. It helped me a lot😍💕

  • @RandomGamesRUS
    @RandomGamesRUS 5 лет назад

    You are Best!!

  • @j2Cuser
    @j2Cuser 4 года назад

    Thank you, nice job :-)

  • @sadiq3690
    @sadiq3690 4 года назад

    Very nice and simpy way of doing work.

  • @Tjulu1
    @Tjulu1 7 лет назад

    How do i navigate in one form without opening a new one like this. Is the only solution using XAML or can I do the same thing with only C#? IF thats the case.. How do I do it?

  • @a_bahar
    @a_bahar 4 года назад

    As you know or not. The Grid control has RowDefinitions and ColumnDefinitions

  • @mohdrafionline
    @mohdrafionline 6 лет назад

    To the point, Perfect (y)

  • @aleksandraarsic1100
    @aleksandraarsic1100 Год назад

    Thank you good sir!

  • @flaviohenriquepessini8637
    @flaviohenriquepessini8637 7 лет назад

    Muito interessante!

  • @katharinamuller240
    @katharinamuller240 3 года назад

    Is there a way to remove the buttons in Main so they don't take up space in Pages 1 + 2 ? Thanks.

  • @rickfuzzy
    @rickfuzzy 2 года назад

    Excellent. Thank you

  • @Magnotis
    @Magnotis 4 года назад

    Is there a way to set it so that the content of one page displays automatically? I'm trying to make a login screen and I want to use a page for my registration form, but also display my other page which has the actual login within it

  • @carmenmatisan6766
    @carmenmatisan6766 7 лет назад

    how we can do this but using MVVM light toolkit?

  • @deltavalley4020
    @deltavalley4020 Год назад

    great stuff

  • @codewithkhattak4757
    @codewithkhattak4757 4 года назад

    Very helpful, Thanks

  • @OTadashi162
    @OTadashi162 5 лет назад +2

    OMG, i can't believe it's so simple 🙀

  • @pashaPDX
    @pashaPDX 2 года назад

    How to pass the data between the two pages? or to the main window? Can page1 update data that is outside the FRAME?

  • @henrykaiser9470
    @henrykaiser9470 2 года назад

    Liebe geht raus

  • @simplesource2457
    @simplesource2457 11 месяцев назад

    Thanks so much this is so simple and clear

  • @fernandoarnaldovilanculo8286
    @fernandoarnaldovilanculo8286 2 года назад

    Hero!

  • @voidvary8854
    @voidvary8854 4 года назад

    very helpful thanks!

  • @sadiq3690
    @sadiq3690 4 года назад +1

    can a window be displayed in frame the same way as page ?

  • @mykolahureiev6466
    @mykolahureiev6466 Год назад

    perfect way to make a memory leaks

  • @abcuuxyz
    @abcuuxyz 7 лет назад

    I do not speak English, but I understand the code... thanks!!!!!!!!!!!!!!!!!

  • @DaveWatts_ejectamenta
    @DaveWatts_ejectamenta 11 месяцев назад

    Nice tutorial, you passed where Microsoft failed.

  • @bfarhan8
    @bfarhan8 3 года назад

    Great Explanation, one question though can I use 3 different pages in a single frame?

  • @itskrypton2662
    @itskrypton2662 3 года назад +1

    How do i make it go back on the default screen content?

  • @ckpradip
    @ckpradip 4 года назад +4

    Thanks for this video. I have done a bit of programming in C++.
    I got couple of questions :
    1. New() is not having a corresponding delete(). Will this not result in memory leak?
    2. Can these page attributes be accessed from other pages also?

    • @emmanuelasare5658
      @emmanuelasare5658 4 года назад +1

      In c# you have to call dispose method on the object created but not every object is disposable so in that case you have to set it to null after you are done using it

  • @nocopyrightvibes917
    @nocopyrightvibes917 3 года назад

    OMG THANK YOU !

  • @alifaris
    @alifaris 7 лет назад +1

    Thank you

  • @bigdummyhead2162
    @bigdummyhead2162 3 года назад

    Thank You!

  • @nathanng2247
    @nathanng2247 4 года назад

    Will the page1 be freed automatically after Navigating to page2?

  • @recepcakir4866
    @recepcakir4866 Год назад

    How to make the page shown in frame full screen?

  • @MooseKapoose
    @MooseKapoose 7 лет назад

    He is our cs teacher

  • @technologynews3143
    @technologynews3143 Год назад

    Hallelujah !! But why this way or MVVM ?

  • @indirectthought8150
    @indirectthought8150 3 года назад

    Can you do the same but instead of Pages using User Controls?

  • @far-red
    @far-red 26 дней назад

    that is exactly what i wanted to do, in web form is loading new form, in WFP i guess we load pages and not windows.
    thx

  • @polyviospatseadis9777
    @polyviospatseadis9777 Год назад

    Very nice video but how i can change the main content inside the page2 for example

  • @umaishasan9477
    @umaishasan9477 5 лет назад

    thank u so much.

  • @hwcdi6041
    @hwcdi6041 8 месяцев назад

    Thank you bro it so usefull

  • @MrWatchyour6
    @MrWatchyour6 7 лет назад +1

    I am trying to do something similar but I can't find it to work. I have a button (button1) in page 1 which I want to have me direct to Page2. I tried this in Page1.xaml.cs
    private void button1_Click(object sender, RoutedEventArgs e)
    {
    Main.Content = new Page2();
    }
    I know Main doesn't exist in Page1 but I don't know how I should do it. Any help?

    • @agoldfish9239
      @agoldfish9239 6 лет назад

      instead of Main.Content do this:
      Page2 p2 = new Page2();
      this.NavigationService.Navigate(p2);

  • @lawkaijian618
    @lawkaijian618 Год назад

    why it showing System.InvalidOperationException: root element is not valid for navigation.' Need Help. Please!!

  • @chris_814
    @chris_814 4 года назад

    What is the difference to usercontrols?

  • @johnolive6634
    @johnolive6634 4 года назад

    Thanks very much
    Am trying to develop and I need to create an editable page like that of Microsoft word which can also automatically insert pages. But don't have any idea.
    Any information or video will do.
    Thanks in advance

  • @ritamgiri5872
    @ritamgiri5872 Год назад

    How I can navigate from Page to Mainwindow?

  • @tobiassjoholm9325
    @tobiassjoholm9325 Год назад

    What is the purpose of the frame?
    You could have just use any container element

  • @rabinsrai5078
    @rabinsrai5078 Год назад

    how tto add pageload event. as i want to show data on page load

  • @hiromijorge400
    @hiromijorge400 3 года назад

    hi, thanks for the tutorial,
    Severity Code Description Project File Line Suppression State
    Error XLS0509 Property elements cannot be in the middle of an element's content. They must be before or after the content. WpfApp1 C:\Users\hirom\source
    epos\WpfApp1\WpfApp1\MainWindow.xaml 40
    i got this error in the label inside the Grid, what is going on? GBU!

  • @A__Singh__
    @A__Singh__ Год назад

    'Auto naming for the win' lol

  • @FCMTX
    @FCMTX Месяц назад

    W videoo

  • @janiss.7828
    @janiss.7828 3 года назад

    ich kriege immer die exeption "Das Stammelement ist für die Navigation nicht gültig" weiß jemand woran das liegt?

  • @yekohein1528
    @yekohein1528 3 года назад

    Thank you sir.

  • @a_bahar
    @a_bahar 4 года назад +1

    I know you want to teach it simple and fast. But please use WPF features and technologies. Like binding, command, ...

  • @whoman0385
    @whoman0385 2 года назад

    You have saved my braincells thank you sir

  • @ajones1274
    @ajones1274 6 лет назад +2

    every time you click a button it creates a new instance of a page ? Thats not great, what if i hit that button 1000 times, i have a 1000 instances

    • @whatsupbudbud
      @whatsupbudbud 5 лет назад

      Isn't C# automatically disposing of garbage?

    • @grassrootfilms
      @grassrootfilms 5 лет назад +1

      @@whatsupbudbud I was wondering this myself and did a small test and it actually doesn't look like it does. If you keep opening the 2 pages again and again, your ram usage will continue to slightly increase. If you call a main.content=nothing, the page will disappear, but the GC still doesn't fire and the memory usage shows to be the same. Disappointing really.

    • @whatsupbudbud
      @whatsupbudbud 5 лет назад

      @@grassrootfilms Very disappointing, indeed. Thanks for testing!