Тёмный
Brian Lagunas
Brian Lagunas
Brian Lagunas
Подписаться
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.
FREE Pluralsight Month- 4/1 to 4/30
2:13
3 года назад
How do I Navigate GitHub Code?
6:56
3 года назад
React Function Components
59:08
3 года назад
Custom Async Events
49:44
3 года назад
Prism Dialog Window not Working
12:40
3 года назад
Adding a Prism Login Screen
8:55
3 года назад
Upgrading Prism to .NET 5
1:51:52
3 года назад
Prism Region Not Found Exception in WPF
11:24
3 года назад
How to Delete Rows from a Data Grid
7:25
3 года назад
Why is this WPF ItemsControl broken?
11:24
3 года назад
Creating a Prism for Uno Project Template
1:54:13
3 года назад
How to use NPM in Blazor
11:03
3 года назад
My First GitHub Action
1:55:09
3 года назад
Комментарии
@vaporeon344
@vaporeon344 9 дней назад
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.
@MrMatthewLayton
@MrMatthewLayton 10 дней назад
So TL;DR, UI = true, Library = false. What happens when Library code is used in a UI?
@chrisvarone87
@chrisvarone87 16 дней назад
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?
@whosgotrythm
@whosgotrythm 20 дней назад
Great video. I hope you start making videos again!
@newbiex11
@newbiex11 25 дней назад
I See states machines where? Everywhere
@ronen124
@ronen124 Месяц назад
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>
@vinodcs80
@vinodcs80 Месяц назад
such a complicated concept taught so easily, wow, appreciate it
@bekisiphotshili2566
@bekisiphotshili2566 Месяц назад
How can I clone this teacher and spread him to all IT institutions?
@teraformerr
@teraformerr Месяц назад
Another brilliant video, hope you will come back to teach us more! Thank you
@teraformerr
@teraformerr Месяц назад
Very very good explanation, thanks a lot
@ivandrofly
@ivandrofly Месяц назад
Good one thanks :)
@sheikhAbdelrahman
@sheikhAbdelrahman Месяц назад
Nice!
@FB-eb6tx
@FB-eb6tx Месяц назад
Excelent video! The best explanation!
@BrianLagunas
@BrianLagunas Месяц назад
Thanks for watching
@minitam1527
@minitam1527 Месяц назад
Thank you for this video.. You explained everything so clearly.
@BrianLagunas
@BrianLagunas Месяц назад
Thank you very much.
@ghosthunter9897
@ghosthunter9897 Месяц назад
Can one add dropdown menu in cell? Thanks for the wonderful video.
@DoctorMGL
@DoctorMGL Месяц назад
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 .
@BrianLagunas
@BrianLagunas Месяц назад
Thank you so much for the kind words. I appreciate you
@yohanaalemseged6683
@yohanaalemseged6683 2 месяца назад
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
@CRBarchager
@CRBarchager 2 месяца назад
Awesome explaination. I failed to understand other explainations of this type but yours was clear and easy to understand.
@CRBarchager
@CRBarchager 2 месяца назад
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.
@mrez0
@mrez0 2 месяца назад
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).
@codegate615
@codegate615 2 месяца назад
24:30 where homepage starts
@brent8450
@brent8450 2 месяца назад
That is incredibly helpful. The idea of using Yield Return when you are unsure how much data you may be going over is especially helpful.
@DivineOG-sy6fr
@DivineOG-sy6fr 2 месяца назад
Okay how can i find the password?
@LeonardHarrisLH
@LeonardHarrisLH 2 месяца назад
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.
@Prof_Bum
@Prof_Bum 2 месяца назад
26min to show how to display a simple dialog. Winforms was ahead of his time.
@Mariusz5400
@Mariusz5400 2 месяца назад
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.
@stephentrouse2069
@stephentrouse2069 2 месяца назад
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.
@JaafarCherkaoui
@JaafarCherkaoui 2 месяца назад
So clear Brian
@abbaskhan.786
@abbaskhan.786 2 месяца назад
When the if condition becomes false, then the task is skipped, but the task should not be skipped until the condition becomes true.
@saddamali666
@saddamali666 2 месяца назад
get on with it!
@anamaria-007
@anamaria-007 2 месяца назад
Jonny333 you'll see it
@anamaria-007
@anamaria-007 2 месяца назад
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?
@karlok74
@karlok74 3 месяца назад
great tutorial!!!!
@rogertsai8190
@rogertsai8190 3 месяца назад
4:12 😂
@NagiTangCheong
@NagiTangCheong 3 месяца назад
is there any reason using Activator CreateInstance not a new T()
@josmit1708
@josmit1708 3 месяца назад
bravo!
@solvedplus858
@solvedplus858 3 месяца назад
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
@yaroslav7105
@yaroslav7105 3 месяца назад
У меня не возникает DeadLock как в конце видео, хотя я сделал всё идентично. Я не понимаю почему он должен возникнуть. Почему .ConfigureAwait(true) вдруг должен ждать какого-то ответа от UI потока? Если мы говорим этим выражением, что хотим продолжать код в UI потоке. По логике второй поток должен выполнить дополнительный процесс, закрыться и передать управление обратно UI потоку. С чего бы второму потоку при await ждать первый?
@yaroslav7105
@yaroslav7105 3 месяца назад
[HttpGet(Name = "GetWeatherForecast")] public async Task<IEnumerable<WeatherForecast>> Get() { Task x = DoWork(); x.Wait(); return Enumerable.Range(1, 5).Select(index => new WeatherForecast { Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), TemperatureC = Random.Shared.Next(-20, 55), Summary = Summaries[Random.Shared.Next(Summaries.Length)] }) .ToArray(); } private async Task DoWork() { Console.WriteLine("Work started"); await Task.Delay(5000); Console.WriteLine("Work finished"); }
@volimax
@volimax 4 месяца назад
Very clear explanation, thank you!
@BrianLagunas
@BrianLagunas 4 месяца назад
Thanks for watching
@marcotaliente4785
@marcotaliente4785 4 месяца назад
What a great channel 🤩
@BrianLagunas
@BrianLagunas 4 месяца назад
Thank you!
@expertreviews1112
@expertreviews1112 4 месяца назад
What if I don’t/can’t use polling? Like a db task which may take too long n I just want to timeout?
@user-gn7cc6hs1d
@user-gn7cc6hs1d 4 месяца назад
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
@auronedgevicks7739
@auronedgevicks7739 4 месяца назад
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).
@pwnit4745
@pwnit4745 4 месяца назад
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 ?
@ReidKar
@ReidKar 4 месяца назад
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.
@ismaelfernandezmendez1664
@ismaelfernandezmendez1664 4 месяца назад
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.
@huw1676
@huw1676 4 месяца назад
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; }
@giribad26
@giribad26 4 месяца назад
Great explanation. Just a quick question, performance wise which is better Dynamic object or ExpandoObject when dealing with large data?
@houdasamad
@houdasamad 4 месяца назад
Incredible video, thank you for sharing :)
@iftekharalammithu5128
@iftekharalammithu5128 4 месяца назад
why the canada president make video on RU-vid >😂<
@BrianLagunas
@BrianLagunas 4 месяца назад
I had some free time 🤣🤣🤣