2009-06-17 4 views
0

Wenn ich eine Viewbox als Child-Element eines WPF-Fensters platziere, "verbirgt" der Cider-Designer alle Innensteuerungen mit dem Text "Viewbox", der nur auf dem Display erscheint.Viewbox in Cider Designer verbirgt alle Steuerelemente in der "Box"

Warum? Gibt es ein Problem mit diesem Layout? Gibt es bessere Layouts, um skalierbare Bilder auf einer Leinwand zu erzielen?

<Window x:Class="WpfApplication1.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="Window1" Background="Green" Width="900" Height="700"> 
    <Viewbox Stretch="Uniform"> 
     <Canvas Height="600" Width="800"> 
      <Image Canvas.Left="74" Canvas.Top="83" Name="image1" Source="/WpfApplication1;component/bitmap20.bmp" /> 
      <Image Canvas.Left="84" Canvas.Top="103" Name="image2" Source="/WpfApplication1;component/bitmap21.bmp" /> 
      <Image Canvas.Left="94" Canvas.Top="123" Name="image3" Source="/WpfApplication1;component/bitmap22.bmp" /> 
      <Image Canvas.Left="104" Canvas.Top="143" Name="image4" Source="/WpfApplication1;component/bitmap23.bmp" /> 
      <Image Canvas.Left="114" Canvas.Top="163" Name="image5" Source="/WpfApplication1;component/bitmap24.bmp" /> 
      <Image Canvas.Left="124" Canvas.Top="183" Name="image6" Source="/WpfApplication1;component/bitmap25.bmp" /> 
      <Image Canvas.Left="134" Canvas.Top="203" Name="image7" Source="/WpfApplication1;component/bitmap26.bmp" /> 
      <Image Canvas.Left="144" Canvas.Top="223" Name="image8" Source="/WpfApplication1;component/bitmap27.bmp" /> 
     </Canvas> 
    </Viewbox> 
</Window> 
+1

Ich habe gerade die Visual Studio 2010 Beta gefeuert und rate mal - die Elemente in der Viewbox werden im Designer angezeigt. Ich denke also, dass das meine Frage beantwortet, d. H. Das Verhalten des Designers ist einfach eine Einschränkung im Werkzeugset vs2008. – Bill

Antwort

0

Sie haben Recht, es ist nur eine Einschränkung von VS2008. VS2010 behebt das.

In der Zwischenzeit verwende ich die Expression Blend 3 Preview, die Viewboxen unterstützt und scheint auch viel schneller als Visual Cider zu arbeiten. Ich denke, dass die Blend 3-Vorschau bis September 09 funktioniert.

0

Gibt es einen bestimmten Grund, warum Sie nur Canvas verwenden?

könnten Sie die Bilder stellen nur direkt in einem Raster mit Stretch = „Uniform“ in etwa so:

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition></ColumnDefinition> 
... 
     <ColumnDefinition></ColumnDefinition> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition></RowDefinition> 
... 
     <RowDefinition></RowDefinition> 
    </Grid.RowDefinitions> 
    <Image Grid.Column="0" Grid.Row="0" Source="/WpfApplication1;component/bitmap20.bmp" Stretch="Uniform"></Image> 
    <Image Grid.Column="0" Grid.Row="1" Source="/WpfApplication1;component/bitmap21.bmp" Stretch="Uniform"></Image> 
    <Image Grid.Column="1" Grid.Row="0" Source="/WpfApplication1;component/bitmap22.bmp" Stretch="Uniform"></Image> 
... 
... 
    </Grid> 

und seit Gitter erstreckt sich automatisch an die Größe davon Container ist, wächst Ihre Bilder/schrumpfen automatisch in das Layout.

+0

Danke für die Antwort. Das Snippet war nur ein Ausschnitt; Es gibt Zeichnungselemente wie Linien und Rechtecke (und benutzerdefinierte Formen) auf der Leinwand in der realen Anwendung und nicht nur eine Reihe von Bildern – Bill

Verwandte Themen