ApplicationInteractionMode GetInteractionMode()
        {
            ApplicationInteractionMode intaractionMode = ApplicationInteractionMode.Touch;

            if (_appearanceSettings.OverrideInteractionMode.HasValue)
            {
                intaractionMode = _appearanceSettings.OverrideInteractionMode.Value;
            }
            else
            {
                if (DeviceInfo.Idiom == DeviceIdiom.Desktop)
                {
                    intaractionMode = ApplicationInteractionMode.Mouse;
                }
                else if (DeviceInfo.Idiom == DeviceIdiom.Phone || DeviceInfo.Idiom == DeviceIdiom.Tablet)
                {
                    intaractionMode = ApplicationInteractionMode.Touch;
                }
                else if (DeviceInfo.Idiom == DeviceIdiom.TV || DeviceTypeHelper.IsXbox)
                {
                    intaractionMode = ApplicationInteractionMode.Controller;
                }
            }
            return(intaractionMode);
        }
        ApplicationLayout GetAppLayout(ApplicationInteractionMode intaractionMode)
        {
            ApplicationLayout layout = ApplicationLayout.Mobile;

            if (intaractionMode == ApplicationInteractionMode.Mouse ||
                intaractionMode == ApplicationInteractionMode.Touch
                )
            {
                var width = Window.Current.Bounds.Width;
                if (width <= 519)
                {
                    layout = ApplicationLayout.Mobile;
                }
                else if (width <= 799)
                {
                    layout = ApplicationLayout.Tablet;
                }
                else
                {
                    layout = ApplicationLayout.Desktop;
                }
            }
            else if (intaractionMode == ApplicationInteractionMode.Controller)
            {
                layout = ApplicationLayout.TV;
            }

            return(layout);
        }
 void RefreshAppLayout()
 {
     InteractionMode = GetInteractionMode();
     AppLayout       = GetAppLayout(InteractionMode);
     System.Diagnostics.Debug.WriteLine($"InteractionMode: {InteractionMode}, ApplicationLayout: {AppLayout} (override: {_appearanceSettings.OverrideInteractionMode.HasValue})");
 }