Setting up Ethernet with UWP

This week, some significant time was spent debugging an issue where a client could not connect to a C#/UWP server.  It turns out that the solution had to do with giving the server accurate capabilities.  Specifically, in the .appxmanifest file, there are three capabilities related to sockets: Internet (client & server) Internet (client) Private network…

Raising events across Windows

Multi-threaded applications appear to be more and more the norm with the latest version of Windows development.  In fact, it’s become a necessity when displaying additional windows with a UWP app.  With this article, I want to capture the resolution to a problem that caused research with very thin answers. So, I have code like…

Refreshing images in XAML

The Image control used in XAML does not really seem like a big deal.  Place it in your XAML and bind the Source Property to your Data.  Might look something like this: <Image Source={Binding MyPath} /> However, there’s a case I came across that had me scratching my head today for a significant period of time.  I…

File operations with UWP

Gone are the days of choosing a location on the hard drive and saving/loading.  UWP adopts a more phone or tablet-like approach where the user must give permissions before an app can conduct specific kinds of actions – including looking at specific folders, even in a desktop application. With UWP, you now have StorageFolders.  There…

Keeping the GUI responsive

Passing data from worker threads to the UI thread is always a chore no matter which programming language is used.  Code can be a bear to develop, complex to read, and difficult to maintain.  Race conditions, debugging, security access, etc – it’s all a not-so-fun part of coding. I see that C# 4.0 introduced the async/await…

Persisting data for UWP

UWP apps are funny.  Unlike regular desktop apps, it’s not always obvious how to store and retrieve data.  There are two cases I’m talking about: There is no Settings GUI in UWP apps like there was in WPF apps.  Previously, an Engineer could right-click on Properties in Visual Studio and set initial values for the…