Also, while Microsoft has announced no plans to push WPF further into the now-present world of .NET Core, a number of open source projects have adopted the WPF mentality and way of doing things, as well as most of the declaratory data binding syntax. One of them is AvaloniaUI, which provides a cross-platform (Windows, Linux, and OSX) UI layer for .NET Core 2.0 console applications, with full IDE support. I have been using it for a while on a new project I am working on, and while Avalonia is still in beta and not really 100% ready for commercial deployment, what is there works well.
So what you learn from WPF (XAML, MVVM, etc...) will certainly not be lost, and you can rest easy knowing that you have options in the future even if Microsoft lets it fall into disrepair. XAML and MVVM is a fantastic way of working with data in .NET, and it is much, much better than WinForms for most things, it's just that there is a learning curve to it that some people and companies just do not see the value in, already having an established pool of experience with WinForms. As for UWP it is already in a sad state. There isn't much reason to go with UWP for a new application, seeing as most people don't even know there is a Windows store, Microsoft has no presence on the mobile market, and UWP also has a learning curve that is just as steep as WPF. Add to that that UWP has a ton of complications regarding deployment, and it's a clear uphill effort for Microsoft to get it adopted. In comparison, a .NET Core 2.0 console application with AvaloniaUI deploys by just sticking all files on a folder and invoking dotnet to start the app on the platform of your choice.