none
USer Control Darstellung RRS feed

  • Frage

  • Hi,

    ich hab eine Usercontrol erstellt und die sollte jetzt so sein das wenn die ins Projekt importiert wird auch in der größe verändert werden kann. Das Problem dabei ist jetzt das ich davon ausgegangen bin das dabei automatisch einfach eine "2 dimensionale scale"  gesetzt wird aber das ist nicht so ganz der Fall. Die Lines die ich habe werden in ihrer Stroke kein bisschen verändert und die Margins werden 1:1 eingehalten und verändern sich nicht, was natürlich total doof aussieht. Das heisst es verschiebt sich letztlich alles wild durcheinander.

    Gibt es eine möglichkeit das zu ändern? oder muss ich jetzt alles nochmal in der immer richtigen Größe neu machen?

    Donnerstag, 9. Februar 2012 14:59

Antworten

  • Das hat nichts mit der Cleverness von Visual Studio zu tun. Wenn du mit festen Werten arbeitest werden diese auch verwendet und können dementsprechend auch nicht bei Größenänderungen skalieren (Visual Studio weiß ja nicht, dass du mit relativen Werten arbeiten möchtest, wenn du feste Werte nutzt). Wenn du möchtest das der Content skaliert bei einer Größenänderung wirst auf relative Werte angewiesen sein.

    Best Regards. Please Mark Answered, If my solution solves your problem.

    • Als Antwort markiert Droggel Mittwoch, 15. Februar 2012 11:18
    Donnerstag, 9. Februar 2012 21:35
  • Wie Horizon_Net bereits geschrieben hast, kann Visual Studio nicht einfach anders funktionieren als du es einstellst (du hättest das Produkt sofort verteufelt, wenn es selbständig entscheiden würde mal die größen zu ändern und mal nicht!). Es gibt Fälle in denen das Steuerelement genau die Größe haben muss und machmal darf es sich anpassen, beides ermöglicht dir Visual Studio.

    Wo genau ist das Problem, die Werte in dem  Control relativ anzugeben? 


    Gruß
    Rudolf

    "Der Nachteil der Intelligenz besteht darin, dass man ununterbrochen gezwungen ist, dazuzulernen." Georg Bernhard Shaw

    • Als Antwort markiert Droggel Mittwoch, 15. Februar 2012 11:18
    Freitag, 10. Februar 2012 07:59

Alle Antworten

  • Hi,

    kannst du ein bisschen Markup posten? Ich weiß nicht, ob ich dein Problem richtig verstehe, aber verwendest du irgendwo feste Maße (im Markup oder im Code-Behind) anstatt relative Werte?


    Best Regards. Please Mark Answered, If my solution solves your problem.

    Donnerstag, 9. Februar 2012 17:43
  • Sicher ich hab im Grunde nur feste Werte und wüsste nun gern wie ich genau das ändere OHNE ewig lange arbeit zu haben :S wie gesagt ich dacht das Visual Studion mittlerweile clever genug wäre das sogar automatisch zu machen auch bei festen werten.

     <Grid x:Name="LayoutRoot">
    
            <Ellipse Name="markEllipse"
                     Stroke="White" StrokeThickness="30"
                     Height="400" Width="400"
                     HorizontalAlignment="Center" 
                     VerticalAlignment="Center">
                <Ellipse.Fill>
                    <LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
                        <GradientStop Color="Black" Offset="0.999991"/>
                        <GradientStop Color="#FF757575" Offset="9E-06"/>
                        <GradientStop Color="#FF757575" Offset="0.092"/>
                    </LinearGradientBrush>
                </Ellipse.Fill>
            </Ellipse>
    
    
            <Line  Name="markLeft"
                   Stroke="White" StrokeThickness="30"
                   X1="30"
                   HorizontalAlignment="Left"
                   VerticalAlignment="Center"
                   Margin="95,15,0,0"
                   StrokeStartLineCap="Round" 
                   StrokeEndLineCap="Round"/>

    Donnerstag, 9. Februar 2012 18:39
  • Das hat nichts mit der Cleverness von Visual Studio zu tun. Wenn du mit festen Werten arbeitest werden diese auch verwendet und können dementsprechend auch nicht bei Größenänderungen skalieren (Visual Studio weiß ja nicht, dass du mit relativen Werten arbeiten möchtest, wenn du feste Werte nutzt). Wenn du möchtest das der Content skaliert bei einer Größenänderung wirst auf relative Werte angewiesen sein.

    Best Regards. Please Mark Answered, If my solution solves your problem.

    • Als Antwort markiert Droggel Mittwoch, 15. Februar 2012 11:18
    Donnerstag, 9. Februar 2012 21:35
  • Wie Horizon_Net bereits geschrieben hast, kann Visual Studio nicht einfach anders funktionieren als du es einstellst (du hättest das Produkt sofort verteufelt, wenn es selbständig entscheiden würde mal die größen zu ändern und mal nicht!). Es gibt Fälle in denen das Steuerelement genau die Größe haben muss und machmal darf es sich anpassen, beides ermöglicht dir Visual Studio.

    Wo genau ist das Problem, die Werte in dem  Control relativ anzugeben? 


    Gruß
    Rudolf

    "Der Nachteil der Intelligenz besteht darin, dass man ununterbrochen gezwungen ist, dazuzulernen." Georg Bernhard Shaw

    • Als Antwort markiert Droggel Mittwoch, 15. Februar 2012 11:18
    Freitag, 10. Februar 2012 07:59