locked
Mauvais affichage des dropdownlist (ComboBox) lors d'un changement de Scale RRS feed

  • Question

  • Bonjour à tous,

    Je développe en Silverlight 5 un projet destiné à fonctionner en OOB. Je dois pouvoir "Zoomer" le contenu de l'application sans redimensionner la fenêtre.

    Pour ce faire j'utilise cette méthode :

    <UserControl x:Class="SL_TestScale_DropDownList.MainPage"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        mc:Ignorable="d"
        d:DesignHeight="300" d:DesignWidth="400">
    
        <Grid x:Name="LayoutRoot" Background="White">
            <toolkit:LayoutTransformer>
                <toolkit:LayoutTransformer.Content>
                    <ComboBox Margin="100" Height="23">
                        <sys:String>Test1</sys:String>
                        <sys:String>Test2</sys:String>
                        <sys:String>Test3</sys:String>
                        <sys:String>Test4</sys:String>
                    </ComboBox>
                </toolkit:LayoutTransformer.Content>
                <toolkit:LayoutTransformer.LayoutTransform>
                    <TransformGroup>
                        <ScaleTransform ScaleX="0.8" ScaleY="0.8"/>
                    </TransformGroup>
                </toolkit:LayoutTransformer.LayoutTransform>
            </toolkit:LayoutTransformer>
        </Grid>
    </UserControl>

    Le problème est que la DropDownList de la ComboBox se décale sur la gauche.

    J'aimerai savoir si quelqu'un a déjà rencontré ce problème, s'il y a une solution ou si c'est un bug connu ?

    Merci d'avance.

    vendredi 27 avril 2012 12:12

Réponses

  • En fait, la combobox est bien redimensionnée mais la popup qui s'ouvre n'est pas affectée au redimensionnement.
    vendredi 1 août 2014 13:07

Toutes les réponses

  • Il faut définir le point de transformation non ? (réponse vite fait, suis pas sur de moi ;-))

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

    vendredi 27 avril 2012 14:25
  • J'ai essayé de mettre les CenterX et CenterY mais ça ne change rien.
    vendredi 27 avril 2012 14:31
  • Bonjour,

    Pas sûr de bien comprendre à la veille d'un long week-end. Cela me parait normal l'échelle s'appliquant à tout le contenu y compris la marge qui se réduit donc ? Sinon la marge ne doit pas faire partie de ce que l'on veut mettre à l'échelle ?


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    vendredi 27 avril 2012 15:56
  • Bonjour,

    Merci pour cette réponse. La marge de 100 doit être réduite, puisqu'il y a un Margin=100 et un Scale de 0.8, le Margin doit passer à 80. Ce qui semble logique.
    La ComboBox se positionne correctement.

    Ce que je ne comprends pas c'est pourquoi le contenu de la ComboBox (DropDownList) se décale vers la gauche ? Si l'échelle n'était pas prise en compte cette liste devrait apparaître décaler vers la droite pas vers la gauche.
    Si l'on met un Scale Supérieur ou égal à 1 il n'y a pas de décalage. Dès que l'on met un Scale inférieur à 1 il y a un décalage.


    vendredi 27 avril 2012 16:10
  • En principe, la popup de la ComboBox essaie de trouver le meilleur positionnement en fonction de l'espace disponible. Peut-être que le LayoutTransformer fausse la donne, je ne l'ai pas assez utilisé pour dire.

    As-tu essayé de remplacer le LayoutTransformer par une Viewbox ? En principe tu devrais obtenir le même effet.

    dimanche 13 mai 2012 15:13
  • Bonjour,

    Est-ce que vous avez testé la solution proposée ? Merci de partager avec nous les résultats,afin que d'autres personnes avec le même problème puissent profiter de cette solution


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    mercredi 1 août 2012 08:55
    Modérateur
  • Bonjour,

    Non, je n'ai toujours pas trouvé la solution à ce problème.

    Lorsque la combobox est trop large on a le décalage de la dropdownlist.

    Cdt.

    jeudi 9 août 2012 13:20
  • En fait, la combobox est bien redimensionnée mais la popup qui s'ouvre n'est pas affectée au redimensionnement.
    vendredi 1 août 2014 13:07