@@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
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.
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?
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
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.
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... $@
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
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?
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
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?
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.
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
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?
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!
@@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.
You just created 6 instances of pages its going to eat up a lot of cpu after a while. You should instead close the previous pages or return to the previous page
1 hour of googling failed me. This video answered my question in 7 minutes - Thank you.
Broke record with 4 days :D
What is it about WPF that makes everything so hard to learn...
@@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
@@RugbugRedfern compared to react, wpf is so overly complicated
@@sergsergesrgergseg I'm switching from WPF to node.js + electron now, so much easier
almost 3 hours searching exactly this on google and it was soo simple. Thank you a lot
+1 for the NavigationUIVisibility="Hidden". That's exactly what I was looking for!
Exactly! That's really annoying and complicated when I tried to disable it from the control template
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,
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.
I was searching the comments to make sure, that somebody like me is already sayed about this. :D
Man, you helped me with my project. You explained such thing better than Indian programmers. I express my gratitude for your job.
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?
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
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
Thx sooo much, a simple tutorial that gets straight to the point. Now we can safely say that youtube is more superior than google.
Does this work the same way if the navigation buttons are on the pages, instead of the main window?
thanks bro, i've been learning wpf for 1 day.
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.
Thank you very much. You've solved most of my problems. You're appreciated.👌🔥🔥🔥
Thank you very much :) very helpfull .
For me work like this :
Page1 page1= new Page1();
Main.Content= page1.Content;
Hope it helps somebody :)
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... $@
THANK YOU
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;
}
Excellent and concise tutorial! Thank you.
Good presentation. Is this possible to do within XAML to stay more MVVM correct?
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
Is there a way to remove the buttons in Main so they don't take up space in Pages 1 + 2 ? Thanks.
How to pass the data between the two pages? or to the main window? Can page1 update data that is outside the FRAME?
Hallelujah !! But why this way or MVVM ?
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?
Great Explanation, one question though can I use 3 different pages in a single frame?
man that's what he is doing in his tutorial
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
What a great short tutorial with great impact
What is the purpose of the frame?
You could have just use any container element
I am so thankful for this video.. Thanks for taking your time!!
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?
Will the page1 be freed automatically after Navigating to page2?
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.
How do i make it go back on the default screen content?
Very Helpful. Thank you from the future
nice work. simplicity is the best
can a window be displayed in frame the same way as page ?
Simple and very effective explanation!
How to make the page shown in frame full screen?
As you know or not. The Grid control has RowDefinitions and ColumnDefinitions
Can't believe this guy works in a public school haha he knows more than some of my University lecturers
Very nice video but how i can change the main content inside the page2 for example
why it showing System.InvalidOperationException: root element is not valid for navigation.' Need Help. Please!!
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?
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
Can you do the same but instead of Pages using User Controls?
Seven years after upload the best solution I found - sadly I got both pages to shine through each other xD
You could use a grid inside the stack panel for your button too
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
What is the difference to usercontrols?
Now how do you page these pages scrollable if they are too large for the frame?
Short and simple, thank you!
That's so cool presentation, thanks a lot👏🏾👏🏾👏🏾
How I can navigate from Page to Mainwindow?
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?
instead of Main.Content do this:
Page2 p2 = new Page2();
this.NavigationService.Navigate(p2);
Very nice and simpy way of doing work.
ich kriege immer die exeption "Das Stammelement ist für die Navigation nicht gültig" weiß jemand woran das liegt?
You made my day....Thanks a million
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!
I know you want to teach it simple and fast. But please use WPF features and technologies. Like binding, command, ...
Thanks so much this is so simple and clear
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
Isn't C# automatically disposing of garbage?
@@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.
@@grassrootfilms Very disappointing, indeed. Thanks for testing!
Ohh thank you sooo much. This video is great. It helped me a lot😍💕
Very helpful and concise.
I do not speak English, but I understand the code... thanks!!!!!!!!!!!!!!!!!
Liebe geht raus
Awesome Tutorial. I do not know why it has so little views.
OMG, i can't believe it's so simple 🙀
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
Thanks for the video! Helped me out loads.
how we can do this but using MVVM light toolkit?
This was super helpful, thank you!
Very helpful, Thanks
Excellent. Thank you
How can i go back to the main page
how tto add pageload event. as i want to show data on page load
It's good but this create a new instance for each click, and it's convenient a hierarchical navigation structure in most cases. but, thanks!
Thank you good sir!
Excatly what i was looking for! thanks man
Hero!
I love it! Thanks! :)
Thank You Thank You Thank You. Helped me a lot
Nice tutorial, you passed where Microsoft failed.
I am getting error Main.Content definition of content not found
Thank you! This was really helpful.
Thank you. Love you so much for uploading this video :D
great stuff
You just created 6 instances of pages its going to eat up a lot of cpu after a while. You should instead close the previous pages or return to the previous page
perfect way to make a memory leaks
You have saved my braincells thank you sir
Thank you bro it so usefull
Good tutor. Thank you
You are Best!!
He is our cs teacher
Very informative, arigato
nah if i type Main.content main becomes red and gives an error
Double check the name if the frame within xaml view
Very helpful. Thank you! :)
very helpful thanks!
W videoo
Jij bent man
Thank You!
Thank you, sir!
Nice vid, have a thumbs up
Thank you sir.
Thank you, men !