none
Solution Uwp utilisation du control Slider pour agrandir la taille d'une image RRS feed

  • Question

  • Bonjour, dans un projet Uwp, j'utilise un control Slider à 3 points pour agrandir une image. Le point 0 étant la taille original de l'image définie dans la partie xaml du code définie : Height="Auto" Width="Auto".

    Ma question est celle-ci:     comment indiquer dans mon code behind que lorsque le cursor revient à 0, Height et Width revienne sur "Auto" ??

      <Image Source="/Assets/ValidationDonnee.png"
                       Grid.Row="1" Grid.Column="2"
                       Height="Auto" Width="Auto"
                       x:Name="ImageLD"/>

      private void ZoomImageL_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
            {
                if (ZoomImageL.Value == 0)
                {
                    //ImageLD.Height = Auto;
                    //ImageLD.Width= Auto;
                }
                else if (ZoomImageL.Value == 1)
                {
                    ImageLD.Height = 550;
                    ImageLD.Width = 550;
                }
                else if (ZoomImageL.Value == 2)
                {
                    ImageLD.Height = 600;
                    ImageLD.Width = 600;
                }
                else if (ZoomImageL.Value == 3)
                {
                    ImageLD.Height = 700;
                    ImageLD.Width = 700;
                }
            }


    JF Collombet ® CreateSpecificCulture

    mardi 20 décembre 2016 17:29

Réponses

  • Bonsoir,

    Voici la réponse. J'ai testé et ça fonctionne chez moi : 

                if (ZoomImageL.Value == 0)
                {
                    ImageLD.Height = Double.NaN;
                    ImageLD.Width= Double.NaN;
                }

    J'espère que j'ai bien répondu à votre question.

    Si c'est le cas, n'hésitez pas à mettre ma réponse en réponse à votre post

    Vous pouvez me suivre sur Twitter : https://twitter.com/NordineMhoumadi


    Please remember to close your threads by marking helpful posts as answer and then start a new thread if you have a new question. Please don&amp;amp;amp;amp;#39;t ask several questions in the same thread. SVP utiliser le Marquer comme reponse; sur les reponses qui vous aide car cela permet aux personnes qui peuvent rencontrer le meme probleme que vous, de retrouver rapidement quelle est la reponse qui a resolu leur probleme. De plus, cela encourage aussi la personne qui a repondu a votre question, et de repondre aux suivantes...

    mardi 20 décembre 2016 19:48
  • Les propriétés Width et Height ont un attribut de type LenghtConverter.

    Ce dernier permet à partir de votre xaml de créer l'instance de votre image.

    Dans le code du lenghtConverter, on a une méthode FromString.

    Et dans cette dernière :

    if (lowerInvariant == "auto")
            return double.NaN;

    Donc effectivement, si vous voulez retourner à "Auto", vous devez, par le code, affecter la valeur double.NaN.

    Ou, si vous voulez être vraiment sur du truc, faire :

    ImageLD.Width = (double) (new LengthConverter().ConvertFrom(null, CultureInfo.CurrentUICulture, "Auto");


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 21 décembre 2016 08:55

Toutes les réponses

  • Bonsoir,

    Voici la réponse. J'ai testé et ça fonctionne chez moi : 

                if (ZoomImageL.Value == 0)
                {
                    ImageLD.Height = Double.NaN;
                    ImageLD.Width= Double.NaN;
                }

    J'espère que j'ai bien répondu à votre question.

    Si c'est le cas, n'hésitez pas à mettre ma réponse en réponse à votre post

    Vous pouvez me suivre sur Twitter : https://twitter.com/NordineMhoumadi


    Please remember to close your threads by marking helpful posts as answer and then start a new thread if you have a new question. Please don&amp;amp;amp;amp;#39;t ask several questions in the same thread. SVP utiliser le Marquer comme reponse; sur les reponses qui vous aide car cela permet aux personnes qui peuvent rencontrer le meme probleme que vous, de retrouver rapidement quelle est la reponse qui a resolu leur probleme. De plus, cela encourage aussi la personne qui a repondu a votre question, et de repondre aux suivantes...

    mardi 20 décembre 2016 19:48
  • Les propriétés Width et Height ont un attribut de type LenghtConverter.

    Ce dernier permet à partir de votre xaml de créer l'instance de votre image.

    Dans le code du lenghtConverter, on a une méthode FromString.

    Et dans cette dernière :

    if (lowerInvariant == "auto")
            return double.NaN;

    Donc effectivement, si vous voulez retourner à "Auto", vous devez, par le code, affecter la valeur double.NaN.

    Ou, si vous voulez être vraiment sur du truc, faire :

    ImageLD.Width = (double) (new LengthConverter().ConvertFrom(null, CultureInfo.CurrentUICulture, "Auto");


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 21 décembre 2016 08:55