2016-10-31 5 views
0

Ich arbeite an einer WPF-App und möchte neben einem angemeldeten Benutzernamen ein Benutzer-Icon platzieren. Ich konnte es überhaupt nicht reagieren lassen und irgendwie sieht es auf meinem Fenster zu groß aus.Wie man ein Bild in Grid.Row platziert, aber es reaktionsfähig hält WPF

Dies ist, wie es in Expression Blend sieht (es auch im Design-Modus groß aussieht):

enter image description here

Hier ist mein Code:

[TextBlock- Text = "User"]

[TextBlock- Text = "Aktuelle Benutzernamen aus der Datenbank"]

[Rechteck als User Icon, Hintergrund = "Green"]

<TextBlock Grid.Row="3" 
      Margin="5,5,34,0" 
      x:Name="lblUser" 
      VerticalAlignment="Top" 
      Text="User:" 
      Foreground="White" 
      FontSize="13" 
      d:LayoutOverrides="GridBox" /> 
<Rectangle Stroke="#83D744" 
      Grid.Row="3" 
      RadiusX="0" 
      RadiusY="0" 
      Margin="6,24.69,34,10" 
      d:LayoutOverrides="GridBox"> 
    <Rectangle.Fill> 
     <SolidColorBrush Color="#5000" /> 
    </Rectangle.Fill> 
</Rectangle> 
<Image Name="imgExit" 
     Grid.Row="3" 
     Source="/MyDesktopApp;component/Images/user-icon.png" 
     HorizontalAlignment="Left" 
     MaxHeight="35" 
     MaxWidth="35" 
     Margin="15,5,0,10" 
     VerticalAlignment="Bottom" /> 
<TextBlock Foreground="White" 
      Margin="8,40,34,4" 
      x:Name="lblLoggedInUser" 
      Grid.Row="3" 
      FontSize="17" 
      FontWeight="Bold" 
      Text="" 
      TextAlignment="Right" /> 

Dies ist, wie es aussieht, wenn ich die Anwendung (auf meinem 22 '' Monitor) laufen - wirklich schlecht:

enter image description here

Und das ist, wie es aussieht, wenn ich es auf einem kleineren Bildschirm wie 17 laufen ‚‘:

enter image description here

Wie kann ich auf jeder Bildschirmgröße reagieren? Am 22 'sieht es wirklich schlecht aus.

+0

I-Vektor anstelle des Bildes verwenden würde, skalieren sie sehr schön und nicht verlieren Qualität. – adminSoftDK

Antwort

-1

Sie setzen das Bild auf eine absolute Position, ich glaube nicht, dass Sie verstanden haben, wie das Grid noch funktioniert.

Verwendung so etwas wie dieses:

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" 
         MinHeight="80" /> 
    </Grid.RowDefinitions> 
    <TextBlock Grid.Row="0" 
       Text="User" /> 
    <Border Grid.Row="1" 
      Padding="8" 
      BorderBrush="Green" 
      BorderThickness="2"> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="*" 
            MinWidth="80" /> 
       <ColumnDefinition Width="*" /> 
      </Grid.ColumnDefinitions> 
      <Image Source="***" Stretch=""Fill/UniformToFill /> 
      <TextBlock Grid.Column="1" 
         HorizontalAlignment="Center" 
         VerticalAlignment="Center" 
         Text="Admin" /> 
     </Grid> 
    </Border> 
</Grid> 
+0

mit Beispiel ich gepostet (Rechtecke usw.) ist es unmöglich, das zu erreichen? –

+0

Warum versuchst du einfach nicht mein Beispiel oder suchst ein bisschen mehr XAML Sprache, was du oben gepostet hast ist überhaupt nicht so gut geschrieben –

+0

@Daniel, ich habe versucht Billy_'s Beispiel, aber es hat auch nicht funktioniert, könnte Sie erklären uns ein wenig, wie das bei Billy funktionieren könnte, ich meine, indem ich seinen Code bearbeite, wie das aussehen könnte oder was auch immer. Vielen Dank –

Verwandte Themen