Hello, I'm Brian Lagunas. I'm a Microsoft MVP, a Xamarin MVP, a Microsoft Patterns & Practices Champion, co-leader of the Boise .Net Developers User Group (NETDUG), board member of Boise Code Camp, speaker, trainer, and Pluralsight author. I also own and maintain the very popular Prism Library.
My channel is all about teaching you insanely simple coding tips, tricks, and techniques that you can use to improve your software development skills and take your applications to the next level.
I like to talk about design patterns and best practices, Prism, WPF, Xamarin.Forms, Blazor, Angular, React, Vue, Flutter, tooling, and many other geeky things.
So, if you're a developer that is interested in what I talk about, make sure to subscribe to my channel right now.
Question, do you know if it's possible to use Infragistics.Documents.Excel to find the last filled row in an Excel File? I've been trying to use that for data, and have had a slight bit of trouble.
Hi Bryan, This was a really helpful video in trying tog et my head around MVVM, but scrolling through the comments it looking for ways to add data to the dialog box. I.E. I want an exception window that provides a call stack and exception message and a Title as Parameters I send in to be displayed and I have more generic Dialog box that does not need anything but a message. The only solution I saw was make an overload to the show dialog with more parameters and restrict your Views to those with View models that have this interface. This feels... Overly complex and brittle. Each time a new Dialog bog with a new Input configuration is created we need to ake a new interface for that ViewModel and then make sure the view specifed for the show dialog has a view model of that interface type. is that correct? At that point it starts to feel clunky... Do you have any better solutions?
thank you a lot for the tutorial yet it throws me and error: The non-generic type 'IAsyncEnumerable' cannot be used with type arguments IAsyncEnumerable<string>
why you are soo good at teaching ? dayuuum i swear i'm not just complimenting you , your teaching method is clear and straight to the point which is something we often miss IRL in schools, and also online .
I lean towards the 1s option, but my question is: how do I execute code that's posted on GitHub by someone else? They've organized it into different packages, and these packages are called in the subsequent code. However, when I attempt to run the code, the packages aren't recognized
Great explaination. I try to avoid async void when ever possible. The only place I've seen it used have been in developement with Winforms but nonetheless a good solution to the problem.
Hello Brian, thanks for your valuable content. I suggest including the DependentView attribute and the region behavior internally in the prism library as a feature included within the library (battery included).
Hi Brian! We are using Prism MAUI, what if you need to refresh a page with tab views and its structured in a way that each tab has a command to be executed that refreshes its own content that the parent page can invoke, and each command may require a different parameter provided, can the Composite Command handle this type of situation? I don't currently see a way to do so but then maybe I am not using it as intended.
I am interested in how .NET knows how to treat IEnumerable and IQueryable. Maybe to the point - when I am accessing some entities, for instance from the EntityFramework like so: `IEnumerable<Person> people = dbContext.People;` then it's clear how it will behave but things are getting interesting when I will cast to the `IQueryable<Person>` -> `var peopleQueryable = (IQueryable<Person>)people;`. It still knows the difference and makes queries different. So for instance we add some Where instruction then it will fetch the data and then it will calculate it in the memory but for IQueryable it will add the WHERE statement to the SQL query instead of fetching all the data.
Thanks Brian - very helpful. I tried for days with DevExpress DialogSrvice and just coludn't find a way to resize them - that was the only problem! Learning to "hand roll" them has great beneift.
Brian ! Please help me! This guy hacked me then put up a video of it! Complaining that he couldn't get into my phone! Wtf!? This A*sMonkey! Stopped me from having my hearing at unemployment and now they want me to pay them $23k?
I like your method to open any dialogue from the viewmodel i used it on xamrin forms but the pages freeze until the viewmodel load and get all data from database my question is how to load the page fast then let the viewmodel do his staff then update the UI so my view or page not get freeze, thanks in advance
У меня не возникает DeadLock как в конце видео, хотя я сделал всё идентично. Я не понимаю почему он должен возникнуть. Почему .ConfigureAwait(true) вдруг должен ждать какого-то ответа от UI потока? Если мы говорим этим выражением, что хотим продолжать код в UI потоке. По логике второй поток должен выполнить дополнительный процесс, закрыться и передать управление обратно UI потоку. С чего бы второму потоку при await ждать первый?
is this project considered as intermediate - hard ? i started c# wpf about a month ago and I'm wondering if this project is a good way to start & learn Prism as well as WPF
yeah .. no. This video is so wrong. "why async void" is bad (He is still using async void). "How do I await task in Ctor" (He is still not awaiting the task).
hi brain . what about having splash screen and login and main . since in winforms i used to do splash screen to load dlls for me and checking the database connection and more . how should i close the splash screen and open the login and when logged in i close the login and open main form ?
Is there a good deep dive video on the reasons for NOT nesting ViewModels? It sounds like performance issues when having many delegates, which I can understand, but.. can't you still just have a ViewModel that can just do exactly what you do here? I'm really struggling with reconciling general MVVM theory and Prism, where it seems like Prism has Models (that are really just ViewModels in disguise) that bleed all over into UI handling business. Is this just to protect the 1-to-1 View and ViewModel concept and avoid confusion around registering? Or is it a redundancy thing where the Models and ViewModels end up always being so similar that it just makes sense to always bind directly to business objects (which in turn can jack with validation stuff and all sorts of other things). It seems like Models should be ultra vanilla, ultra simple business objects (that you might not even have control over at times!), but what seems to happen in Prism is Models just take on more and more "dressing" for view stuff and just become VMs essentially. Or, on the flip side, the single ViewModel needs to get crazy to handle the "dressing" stuff.
Ngl, I really love Java and I am getting into C#, but this is a game changer. Pretty sure you could do something similar in Java, but probably not with Java's default syntax.
Great video and tutorial. The latest version of Blazor with .NET 8 allows us to interact with this radial gauge component without having to write a JS function, and without using any JS InterOps. To do this, we include @rendermode InteractiveServer at the top of the razor file, then for example, we change value="25" to say value="@getCurrentValue()", then taking your onClick function within the @onclick event within the button, we write the following in the @code section: @code { public int currentValue = 35; public void onClick() { currentValue = 45; } public int getCurrentValue() => currentValue; }