2011-01-05 19 views
1

Hallo Ich konvertiere SVG-Bild zu XAML/Canvas. Ich möchte diese Leinwand als Fenster/Benutzerkontrollhintergrund einstellen.Größe Leinwand auf Fenster/Benutzer Kontrolle Größe

Etwas wie folgt aus:

<Window x:Class="WpfApplication2.MainWindow" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      Title="MainWindow" Height="350" Width="525"> 

    <Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
Name="svg2383" Width="800" Height="600"> 

    <----> 
    </Canvas> 
    </Window> 

Mein Problem Canvas ist zu viel groß, würde ich die automatische mag Resize/stretch Leinwand auf Fensterhöhe/Breite.

Bild auf Leinwand ist complicated..http: //kde-look.org/content/show.php/something_wall content = 115863

So setzen Breite und Höhe nicht Lösung ist, weil diese Leinwand andere bestehen Segeltuch.

Antwort

2

Sie können die Leinwand in eine Viewbox setzen. Dadurch können Sie es dehnen, um das Fenster zu füllen, während Sie es in einer konstanten Größe gestalten.

+0

Ok, aber ich möchte haben Leinwand als Hintergrund, weil ich will, Setzen Sie einige Kontrollen auf diesen Hintergrund. Wenn ich Viewbox verwende, muss ich im View-Feld Canvas und im Canvas-Bereich die Kontrolle als Grid mit anderen Controls setzen. Ich denke, es ist nicht gut. –

+0

@jminarik: Erstellen Sie eine separate Arbeitsfläche - verwenden Sie sie für Ihre anderen Steuerelemente und legen Sie die Viewbox und das Objekt in ein Raster. Sollte gut funktionieren. –

2

Wie über das Entfernen angegebenen Breite und Höhe

<canvas Name="svg2383"> 
<----> 
</canvas> 

EDIT: Eine andere Möglichkeit, eine Bindung zu verwenden, ist wie folgt:

<Window x:Name="MainWin"> 
    <Canvas Width="{Binding ElementName=MainWin, Path=ActualWidth}" 
     Height="{Binding ElementName=MainWin, Path=ActualHeight}"> 
    <---> 
    </Canvas> 
</Window> 
+0

So setzen Breite und Höhe ist keine Lösung, weil diese Leinwand aus anderen Leinwand bestehen. Also Leinwand hat andere Leinwand und er hat andere Leinwand, ich muss viele Eigenschaften Höhe und Breite einstellen ... das ist keine Lösung. –

Verwandte Themen