Welcome to the Lounge

The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.

1. The lounge is for the CodeProject community to discuss things of interest to the community, and as a place for the whole community to participate. It is, first and foremost, a respectful meeting and discussion area for those wishing to discuss the life of a Software developer.

The #1 rule is: Be respectful of others, of the site, and of the community as a whole.

2. Technical discussions are welcome, but if you need specific programming question answered please use Quick Answers[^], or to discussion your programming problem in depth use the programming forums[^]. We encourage technical discussion, but this is a general discussion forum, not a programming Q&A forum. Posts will be moved or deleted if they fit better elsewhere.

4. No politics (including enviro-politics[^]), no sex, no religion. This is a community for software development. There are plenty of other sites that are far more appropriate for these discussions. Or if you must, use the Back Room[^] - but enter at your own risk.

5. Nothing Not Safe For Work, nothing you would not want your wife/husband, your girlfriend/boyfriend, your mother or your kid sister seeing on your screen. For those discussions where you wish to be a little more frank, use the Soapbox[^]

6. Any personal attacks, any spam, any advertising, any trolling, or any abuse of the rules will result in your account being removed.

7. Not everyone's first language is English. Be understanding.

Please respect the community and respect each other. We are of many cultures so remember that. Don't assume others understand you are joking, don't belittle anyone for taking offense or being thin skinned.

We are a community for software developers. Leave the egos at the door.

Recently, I had an interesting discussion with another CPer who took umbrage with my recent article which summarized a shift from WinForms directly to UWA/UWP XAML and ignored WPF XAML.

I mentioned that WPF was indeed ignored by vast numbers of devs and that no shop I've worked in ever paid it more than scant attention. I also mentioned that many devs seemed to (perhaps improperly) connect WPF with Silverlight and MS killed Silverlight in the quiet of the night and many devs never felt much motivation to go to WPF.

Not Reviving A Debate Or Anything Against WPF-minded CPer
Of course, WPF is used all around, I'm sure. This post is not an attempt to revive a debate that ended up being a very good discussion. I think the CPer was definitely correct on many things he said.

My point is the following (and I think it is interesting):

Trying To Find XAML Control Solutions: Difficult
Today, I was looking for a way to make sure my UWA (XAML-based) app's ListView would show the last selected item even when it lost focus -- keep it highlighted.

Could Only Find WinForms Answers
As I searched I could find nothing but WinForms answers about how to do that. Those answers are like 7 years old.

Should Be Very Simple and Is In WinForms
The answer should be very simple. WinForms Answer : In WinForms the answer is set the HideSelected property to false.

This is something that is an obvious functionality in a ListView. So obvious that WinForms provided a property.

Not so in XAML. Hmmm...

Disclaimer
Yes, I am a newbie to XAML and someone will surely post the answer to how to do this in XAML as soon as I post.

Feels Like Microsoft Never Fully Developed XAML Either
This kind of thing makes me feel like Microsoft never carried out the XAML development all the way either.

Just thought it was very interesting. How about you?

EDIT
I also own this book Universal Windows Apps with XAML and C# Unleashed [^] -- probably the best one available on UWP XAML and it does not have these kinds of details either.
However, this type of thing was always covered quite well on the WinForms side and even if you couldn't find it, you could look through every property.

There is very little benefit, really.
And I think many people feel this way.
The benefits that do exist are indirect.

They are things like:1. Only UWP apps will be admitted to the Windows Store.2. Getting into the Windows Store makes it a bit easier (for indie devs) to deploy their apps to the population of Win10 users.3. Uh...Microsoft is telling us that Win10 is the future and that UWP is _The Way_ to develop apps for that future (Win10). 4. I'm now attempting to make up more benefits...think...think... Oh, yeah, WinForm technology is old and crufty and it is really bad for MVC (the pattern, not the microsoft thing) since so many of the Concerns are tied together in WinForms. So XAML does better binding and UWP is XAML based.

WinForms, or better, the Common Controls, are very underappreciated; it is a mature product. A standard that is not just available on Windows anymore, as WinForms work just as happily under Linux.

I'm sure that WPF is better for graphics, as advertised.

I build tools for people that work. They don't care about flashy, they care about reliability and predictability. I'm not paid for animated borders, but functionality - and will probably still be maintaining WinForms code by the time that our great overloads predicted that AI will write code.

As someone who has spent far too much time wrestling with the quirks of the MS supplied WinForm Controls ... many of which are .NET wrappers around old COM.ActiveX Controls ... I have a less "rosy" view of them: imho, they are a herd of cats

From the "cup is half-full" perspective, you could say that MS enabled a market for 3rd. party control developers to create much more powerful and internally consistent controls, with consistent API's. I remember, so well, my elation when I discovered Andrej Stojkov's Lidor TreeView Control: felt like I had gotten out of jail

I was excited, initially, by WPF's promise of an all-vector rendering engine, bubbling event-model, superior binding facility, etc. And, of course, symbiosis with a web-stack, SilverLight.

There was some great work done here, on CP, by pioneers like Clifton, Adrian Alexander, O'Hanlon, Josh Smith, Sacha Barber, and others.

The reality of programming in Visual Studio with WPF, however, just was not right ... for me.

Then, came the debacle of Metro, the deprecation of SilverLight, the failure of Metro, MS VP Sinofsky's (Metro honcho) departure, the WinRT hoop-la, etc. A lot of devs felt burned; fence-sitters, like me, decided to stick with WinForms.

If only ... one can waste time fantasizing about ... WinForms had a retained-mode all-vector, 2d graphic engine, and WPF's event and binding facilities. A Designer.cs file-format that at least was more XML-like, or, even XAML like.

A few comments:

1. For WinForms TreeView and ListView that would be the 'HideSelection Property.

2. There is a more recent (2016) 2nd. ed. version of Nathan's book for Windows 10: [^], but it's listed as unavailable on Amazon, currently.

«While I complain of being able to see only a shadow of the past, I may be insensitive to reality as it is now, since I'm not at a stage of development where I'm capable of seeing it.» Claude Levi-Strauss (Tristes Tropiques, 1955)

Nice job taking the first google result that showed up but I actually went to the microsoft store sight, put a laptop in the cart, went to checkout and they had 2 selections as form of payment. Visa and Paypal. Let me know how that 15,000 dollar footlong tastes. Most companies don't take it anymore because of the volatility of the bitcoin/us dollar exchange. I believe overstock might still take it. Expedia says if you don't book in 10 minutes they don't guarantee price. Sounds convenient to me. With 1,300+ there may be a couple winners, but more losers. Just like the dot com bubble.