Je souhaite connaître la résolution de l'écran afin de pouvoir définir la hauteur d'un élément en fonction de la résolution dans une application Windows 8.
Réponses
Trop de publicités?Obtenir les limites de la fenêtre actuelle est facile. Mais si vous voulez définir une taille de police importante pour un écran plus grand (la résolution est identique à celle d'un périphérique de 10 ", mais celle de l'écran est de 27"), cela ne vous aidera pas. Reportez-vous à la rubrique Mise à l'échelle sur différents écrans. J'ai utilisé la méthode suivante pour détecter la taille de l'écran et modifier le style de police du bloc de texte de manière appropriée.
void detectScreenType()
{
double dpi = DisplayProperties.LogicalDpi;
var bounds = Window.Current.Bounds;
double h;
switch (ApplicationView.Value)
{
case ApplicationViewState.Filled:
h = bounds.Height;
break;
case ApplicationViewState.FullScreenLandscape:
h = bounds.Height;
break;
case ApplicationViewState.Snapped:
h = bounds.Height;
break;
case ApplicationViewState.FullScreenPortrait:
h = bounds.Width;
break;
default:
return;
}
double inches = h / dpi ;
string screenType = "Slate";
if (inches < 10)
{
screenType = "Slate";
} else if (inches < 14) {
screenType = "WorkHorsePC";
}
else
{
screenType = "FamilyHub";
}
ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
localSettings.Values["screenType"] = screenType;
}
apparemment, je n'ai pas encore assez de représentants pour répondre aux messages, mais en ce qui concerne la réponse de @ Krishna, il peut être intéressant de noter que sa solution nécessite:
using Windows.UI.Xaml;
Ce n’est probablement pas un problème pour la plupart d’entre vous, mais dans mon cas (essayer de saisir la résolution de l’exécution d’une application depuis une bibliothèque importée), ce n’était pas là par défaut.
J'espère que ceci aide quelqu'un d'autre...
Utilisez-vous XAML? Si c'est le cas, cela n'a pas d'importance. Utilisez le contrôle Grid. Il remplira tout l'espace disponible. Lisez le blog de Jerry pour savoir pourquoi vous pourriez vouloir utiliser xaml pour le développement WinRT.