// init controls
        private void InitControls()
        {
            var networkConfiguration = (DataContext as DeviceExplorerViewModel).DeviceNetworkConfiguration;

            // developer note
            // because our IPMaskedTextBox is missing the required properties and events to support
            // MVVM and binding we have to use the old fashioned way of set/get properties in code behind

            // network config
            // set IPv4 addresses
            // DHCP ?
            if ((networkConfiguration.StartupAddressMode == AddressMode.DHCP) ||
                (networkConfiguration.StartupAddressMode == AddressMode.Invalid))
            {
                IPv4Automatic.IsChecked = true;

                IPv4Address.SetAddress(IPAddress.None);
                IPv4NetMask.SetAddress(IPAddress.None);
                IPv4GatewayAddress.SetAddress(IPAddress.None);
            }
            else
            {
                IPv4Manual.IsChecked = true;

                IPv4Address.SetAddress(networkConfiguration.IPv4Address ?? IPAddress.None);
                IPv4NetMask.SetAddress(networkConfiguration.IPv4NetMask ?? IPAddress.None);
                IPv4GatewayAddress.SetAddress(networkConfiguration.IPv4GatewayAddress ?? IPAddress.None);
            }

            // DNS is automatic?
            if (networkConfiguration.AutomaticDNS || networkConfiguration.IsUnknown)
            {
                IPv4DnsAutomatic.IsChecked = true;

                IPv4Dns1Address.SetAddress(IPAddress.None);
                IPv4Dns2Address.SetAddress(IPAddress.None);
            }
            else
            {
                IPv4DnsManual.IsChecked = true;

                IPv4Dns1Address.SetAddress(networkConfiguration.IPv4DNSAddress1 ?? IPAddress.None);
                IPv4Dns2Address.SetAddress(networkConfiguration.IPv4DNSAddress2 ?? IPAddress.None);
            }

            // wireless configuration/properties
            // get view model property
            var wifiProfile = (DataContext as DeviceExplorerViewModel).DeviceWireless80211Configuration;

            // set pass field if it's available from the model
            WiFiPassword.Password = wifiProfile?.Password;

            // if there is no valid network interface in the device: enable control for interface type selection
            if ((DataContext as DeviceExplorerViewModel).DeviceNetworkConfiguration.IsUnknown)
            {
                InterfaceType.IsEnabled = true;
            }

            // set focus on cancel button
            CancelButton.Focus();
        }