Welcome to LearnwithKharsh, a RU-vid channel dedicated to providing high-quality educational content to help you enhance your knowledge and skills. My name is Harsh and I am passionate about sharing valuable insights and learning experiences with my audience. On this channel, you will find a wide range of tutorials about C#, Prism, WPF, MVVM, and MahApps. Whether you're a beginner looking to learn the basics or an experienced enthusiast seeking advanced techniques, there's something for everyone here. Join me on this educational journey and let's explore together. Don't forget to subscribe to the LearnwithKharsh RU-vid channel and hit the notification bell to stay updated with the latest videos. Feel free to leave comments, ask questions, and share your feedback-I'm here to support your learning and growth.
Thank you for being a part of the Wpf World community.
You can contact me here wpfcsharpmetroui.blogspot.com/p/contact.html
Great series so far. I am however a bit confused why you passed in the parameters Ok and Cancel to the FileDialog Execute functions when you have functions for both Ok and Cancel. When you click on Ok, the param variable for the Ok function will always contain the value "Ok". Am I missing something? I suppose you could use this parameter with a single Execute function for both the Ok and Cancel button for demonstration purposes. Anyway, great series, I am working my way through them. I want to start getting into WPF application development and this Prism library seems like the way to go to build modular applications.
Thank you for your thoughtful comment, and you're absolutely right! In this case, I passed the "Ok" and "Cancel" parameters to the FileDialog Execute function mainly for demonstration purposes-to show how to pass command parameters to a dialog window in WPF using Prism. This allows you to handle both buttons (Ok and Cancel) within a single function if needed. It's definitely not necessary when using separate functions for Ok and Cancel, but it’s a helpful pattern in some scenarios. I'm glad you're enjoying the series and excited to hear you're diving into WPF and Prism for modular application development. Best of luck, and feel free to reach out if you have any more questions!
Thanks for your feedback! Could you let me know which type of local database you'd like to learn about? This will help me create a more relevant video for you.
@@learnwithkharsh yes I referred this video , i want to add functionalities like , displaying data from db after adding,updating,deleting. after each operation i want to load the data automatically in datagrid. Can you please add this one functionality.
Thanks for the great material! One question to ask... the binding of property (such as Command and IsChecked, etc) between Toolbarview.xaml and ToolbarViewmodel was successfully done even though the datacontext of the usercontrol was not declared. How was it possible?
It's great to hear that you found the material helpful! ❤️ Regarding your question about the binding of properties between ToolbarView.xaml and ToolbarViewModel, Prism's view discovery mechanism allows for implicit data context creation. This is made possible by the ViewModelLocator feature provided by Prism. The ViewModelLocator automatically locates and assigns the appropriate view model instance to the view based on naming conventions and view-model naming patterns. Prism's ViewModelLocator uses a naming convention to match the view model to the view. For example, in our case the view is named as "Toolbarview.xaml," Prism will search for a view model named with "ToolbarViewmodel.cs" and automatically assign an instance of this view model to the view's DataContext.
You can find the code for this tutorial on GitHub. Here is the link: github.com/learnwithkharsh/Prism-Practice Feel free to clone the repository and explore the code.
@@learnwithkharsh whats the point of using metro then? I can use "None" on regular window. But i found better way. There is something called WPFUI and its awesome.
Thank you for your suggestion! I appreciate your interest in MVVM and CRUD operations. I'll certainly consider creating a tutorial that covers these topics. Stay tuned for future content on our channel. In the meantime, don't hesitate to ask any specific questions you have about MVVM or CRUD - I'm here to help!"
Absolutely! You can find a sample code snippet for the functionality you're looking for wpfcsharpmetroui.blogspot.com/2023/08/how-to-load-add-update-and-delete.html Feel free to take a look and modify it according to your requirements. If you have any questions or need further assistance, don't hesitate to ask. Happy coding!😜
Absolutely! I'm glad you're interested in the source code. You can find the sample code snippet for the CRUD operations in the WPF application on my blog here: wpfcsharpmetroui.blogspot.com/2023/08/how-to-load-add-update-and-delete.html Feel free to explore the code and adapt it to your needs. If you have any questions or need further assistance, don't hesitate to ask. Happy coding! 🚀
I appreciate your interest! As of now, I haven't uploaded the source code yet. However, I plan to make it available soon. Stay tuned for updates, and thank you for your patience!
As I promised, I have now shared the code on my blog. You can access it through the following link: wpfcsharpmetroui.blogspot.com/2023/08/connect-sql-server-database-to-wpf.html Feel free to explore the code and adapt it to your needs.
It is very difficult to comment on this tutorial. First of all, it really helped me to figure out how to implement this filtering technique in my application. It was very simple. But I had to stop the video several times. So thank you very much! I really have a problem with your teaching technique. It would be very helpful if you spoke a little louder, reduced or eliminated the music, and finally spoke slowly. You have taken the time to help others and we really appreciate your efforts. Please remember that you are doing it for others and not for yourself because you already have the knowledge. Passing on your knowledge to others requires a little more passion and care. Once again, thank you and have a great day!
Thank you so much for taking the time to share your feedback on this tutorial! I'm thrilled to hear that it helped you in implementing the filtering technique for your application. I understand that you had to pause the video a few times, and I appreciate your patience and perseverance. I genuinely appreciate your constructive criticism regarding my teaching technique. Your suggestions about speaking louder, reducing or eliminating the music, and speaking slowly are valuable insights that I'll take to heart. As an instructor, it's essential for me to be mindful of the clarity and delivery of my lessons, ensuring that they are accessible to all viewers. I'll make a conscious effort to improve in those areas, and I'm grateful for your guidance. You're absolutely right that sharing knowledge is all about helping others, and I'm honored to be able to contribute to the learning community. Your words have reminded me of the passion and care required in teaching, and I'll strive to infuse even more of those qualities into my future videos. Once again, I genuinely appreciate your feedback and kind words. Thank you for recognizing my efforts in assisting others. Have a fantastic day, and best of luck with your application!
Tell me please, what the package i got to download or what to do to use this using Prism.Commands or Prism.MVVM. I put one of those usings and Visual studio says that it doesn't know about the namespace)
Hi Harsh, I followed your tutorial. The datagrid is not showing the contents of the .csv file. Can you please tell how did you bind the datasource in “EmployeeDetails.xaml.cs” ? It will be helpful if you could share your code.
Hi, I would like to know when should I use indexer instead of member access, and when to use to int indexer and the string indexer. because i see that in this example all three access operators do the same thing.
If you want to access data members of class like an array then you can use it. The indexed value can be set or retrieved without explicitly specifying a type or instance member. If you observe here i have not used any of the data members to access it rather i used the index with class instance.