C# WPF UI Tutorials: 25 - Advanced Cross-Control Syncing

preview_player
Показать описание
Part of a series of tutorials on creating WPF applications in C#

This time we do some cool tricks to keep a group of similar controls sizes in sync with each other via dependency properties and a cool use of attached properties on the parent collection control

Рекомендации по теме
Комментарии
Автор

Thank you so much :) As always great video! :)

yajra.mendoza
Автор

Thanks for you all tutorials,
Can you please create the Filter able data grid tutorial

shuaibhasanansari
Автор

I follow your work with pleasure. Thank you

ErsanAgrman
Автор

Please, God bless you for nice tutorials.Am very impressed

nitrotech
Автор

Helloooo AngleSix, first of all thank you verrrry much for this series. it has been awesome. until now I finished part 4 in the past 4 days. while my knowledge in C# is kind of limited (as I always find solutions to my problems but end up in a huge messy code. and always mix between OOP and procedural programming and I was stuck with WinForms).I decided that its time for me to get serious. from the first 4 parts, I have understood around 75% of the code and learned many things. i've struggled to understand the way you easily figure out how to interact with different classes and types / objects and making things buttery smooth from the first time. until part 4, i have learned loads of stuff regarding C# and xaml, also, loved the way you comment everything and keep referencing things. I would really like to be professional and fluent in C#. there are many projects and ideas in my mind that I would like to do. but currently, I lack the skills. my question is, would it be better to keep going with the series and coding along side with you to learn stuff or should I only continue if I understood 100% the previous lessons? also, can you point out to me a way to be fluent in the language and how much low level details should I dive into

btw, I'm 26 years old. I studied and currently work as a chemical engineer. . I don't mind the time it might take. but I want to be on the right track. my ideas range from creating efficient tools that interact with other software (ie. hysys, Osisoft PI), creating charts / databases and live data monitoring to standalone apps.
regarding my programming skills, I have learned C++ a little bit (learned the basics and did simple software), tought myself little bit about assembly and low level coding and interaction with hardware. I bought Arduino and programmed few things as well. while I always keep up to date with the technology, but the amount of stuff out there is huge, and everytime I think about it I feel that I missed so much. :")

DarkNightSonata
Автор

Amazing work as always. working with dependency properties in the series make it easy to understand and use it. i always use animation with blend but after this amazing series i start to use animation with c# code more often and mvvm became easy to understand. and to be honest there aren't good tutorials in wpf on youtube like the way you do it and i can say even in payed courses pluralsight, udemy, and even lynda.com there aren't series that build wpf apps from scratch to finish like you do it . so thank you very much.

barryjohnson
Автор

What I did was I created a dictionary with keys of the elements and values of their widths and whenever there's a change I update that value
then I update a variable to the max value which is the widest element then I just bind the element's width to that LabelWidth element which is in the ViewModel
my attached property looks something like this and that's it what I did, no dependency properties etc

public Dictionary<int, double> LabelWidthList = new Dictionary<int, double>();
public override void sender, e)
{
///Get the frame
if(!(sender is TextBlock textBlock)) return;

///Set navigation visibility to hidden
textBlock.SizeChanged += (ss, ee) =>
{
= textBlock.ActualWidth + textBlock.Margin.Left + textBlock.Margin.Right;
LabelWidth =
};
}


is there any reason why you didn't do this approach? it took me just 2 min and it works

lasr
Автор

I have tried to watch your tutorials many times, but I can't get past the keyboard clacking.

jamesdraughn
Автор

I just discovered your channel few days ago, now you are one of the persons I admire, thanks for great series of video tutorials would be great to also lean some xamarin with you :) btw I've a question, how do you deploy your wpf projects? what do you think about Squirrel to publish wpf applications? is there any best approach to do so if I want it to be simple to install and update?

christopherkiessling
Автор

Why I need to hit Enter twice to save the input text (one to trigger propertychanged and one to click the Save button), and in the video only single enter can achieve that ...Could anyone help me with it?

Nanzai
Автор

Amazing work man.


Do you have any more tutorials of this nature? Learning through actually building something?

kelvinmunyimbili
Автор

Thanks for these tutorials. As a full-time WPF developer (guess about 7/10ths your skill) it's relaxing to watch someone else do the work and pick up tips.
Think the attached property could get a bit recursive (i.e. SetWidths will cause SetWidths to fire again), but harmlessly.
Could Grid.IsSharedSizeScope attached property have done the job?

mausukula
Автор

Hi, there's a way in which you can "filter" objects in an ItemsControl? For example, in your chat list, like filter by name?

chamir
Автор

I need some help implementing something in my own version of the application. Basically, on the side menu chat list that you made, I did the same thing and I want to treat each one as a button to open a new page. I know I can do an input command on a normal button or in an input binding to call up a new page, but how do I assign an input binding to each separate item in the list and make it so each one does something different.

I was trying to stick with what you're doing because I'm not sure what you're doing in the future and I wanted to make sure I could learn without having to decipher what I'm doing with what you're doing more than I have to which is already a lot.

If what I'm asking isn't reasonable or feasible in the application to do it that way, since my data is stagnant and not going to be controlled by incoming chats when a server is up and running I'll just swap out the list control with buttons, design them to look similar to how I have it looking now, and use the sidemenuviewmodel for the commands to call up new pages.

funkel
Автор

Thanks you for this tutorial. I have a problem, in SettingsControl.xaml all the settings setted on SettingsDesignModel.cs are showed, but when I run the application I cannot see they, why?

tomas
Автор

Very nice video! I've some issues, the code is the same as yours, but the FocusAndSelectProperty doesn't work, and also when I press the ESC button it doesn't turn off the edit mode.. but I repeat, the code is the same as yours. How can I resolve it? Also tried to delete the .vs, bin and obj folders, nothing changed..

odingames
Автор

So I hate to be the bearer of bad news but the new animation changes you made where it evaluates the first load creates a problem if you change pages. When you use a command to move to a different page after the first move you set sidemenu to visible and no matter what you do it always goes back to invisible.

funkel
Автор

Thanks for this tutorial, I have some questions that I really need to ask.

I'm going to the second year studying CS in college and we have only 1 subject for programming which teaches us C++ and I find it boring so I started building c# apps, which you can see 2 vids on my channel of my programs which are games calculators which are made up from Windows Forms Applications.

My question here is when will I be able to master C# like you or more likely at least.

Secondly, is studying C++ beneficial? Should I focus in 2 languages at the same time or growing up in C# as I find tutorials like what you make need higher knowledge than what I have?

Thanks once again.

mohaafaridd
visit shbcf.ru