2009-06-17 7 views
0

Когда я помещаю Viewbox в качестве дочернего элемента окна WPF, Cider Designer «скрывает» все элементы управления салона с текстом «Viewbox», который появляется только на дисплее.Viewbox в дизайнере Cider скрывает все элементы управления в поле «box»

Почему? Есть ли проблема с этим макетом? Есть ли лучшие макеты для создания масштабируемых изображений на холсте?

<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

Я только что выпустил бета-версию Visual Studio 2010 и угадаю, какие элементы в окне просмотра отображаются в дизайнере. Поэтому я предполагаю, что это отвечает на мой вопрос, т. Е. Поведение дизайнера - просто ограничение в наборе инструментов vs2008. – Bill

ответ

0

Вы правы, это просто ограничение VS2008. VS2010 исправляет это.

В то же время я использую Expression Blend 3 Preview, который поддерживает viewboxes и, кажется, работает намного быстрее, чем Cider Visual's. Я думаю, что предварительный просмотр Blend 3 до сентября 09.

0

Есть ли какая-то конкретная причина, по которой вы частично относитесь к холсту?

Вы можете просто поместить изображения непосредственно в сетке с Stretch = «Uniform» как так:

<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> 

и поскольку Сетка автоматически растягивается до размеров из его контейнера, ваши изображения будут расти/сокращаться автоматически расположение.

+0

Спасибо за ответ. Отрывок был всего лишь фрагментом; есть элементы рисования, такие как линии и прямоугольники (и пользовательские фигуры) на холсте в реальном приложении, а не только куча изображений – Bill

 Смежные вопросы

  • Нет связанных вопросов^_^