Re: C#
We're using Xamarin to target Windows (WPF) and iOS / Mobile. It was a bit rough when we started a couple of years ago but is pretty good now. Build times for iOS are irritating (might be our fault for using Mac minis) and the debugging experience isn't always as polished or feature-rich as Windows (you can forget edit and continue and sometimes evaluations aren't as detailed) but we're all managing to jump between the three target platforms without issues or mostly can just ignore that by working on common code.
I'd estimate that 90% of our code base is shared with just a handful of platform specific stuff like audio handling and a few view model service classes where pages/views have a lightweight platform specific view model that calls down to the common service.
There are a few differences in the XAML between WPF and Xamarin but nothing of any real significance. If you're already familiar with WPF the only things you need to learn are how a mobile app differs from a desktop application and that's always going to be a concern if your team is doing cross-platform development.