2013-07-23 3 views
0

У меня есть окно, которое имеет «ящик». Он скользит из-за окна, когда пользователь нажимает кнопку, и он находится справа от окна.Растяжка в левом верхнем углу при изменении ширины и высоты wpf

Пользователь может изменить размер главного окна (его пункт рассеивания конкретно). Я хотел масштабировать «ящик» с окном. Однако я столкнулся с проблемой, когда при изменении размера окна он будет изменять размер ящика сверху справа влево. Это помещает содержимое ящика за мое окно. Я хочу сохранить левую часть окна и растянуть его вправо. Надеюсь, мои фотографии объясняют это лучше.

(Обратите внимание, пожалуйста, простите положение вкладок discrepency в обеих картинах, извините)

Это перед сеткой с прямоугольником & вкладок выскальзывает:

previous

Это когда сетка с прямоугольником & регулировка выступов не установлена:

step1

Это когда деталь scatterview была уменьшена больше, что, таким образом, масштабирует ящик больше - скрывая его за пунктом непреднамеренно scatterview:

step2

Это когда элемент scatterview был уменьшен, что тем самым уменьшает размер ящика. Очевидно, что сетка, в которой размещены прямоугольник и элемент управления вкладкой, масштабируется в верхнем правом углу, а не в верхнем левом углу, как я хочу.

step3

Есть ли у него ничего общего с тем, что я высота ящика ограниченной до значения высоты и ширины главного окна каким-то образом? Я пробовал всевозможные ценности правки и прочее безрезультатно. Будет ли панель док-станции подходящей для этого элемента управления вкладкой? Вот некоторые из XAML:

<s:ScatterViewItem x:Name="Window" Orientation="0" 
     Background="#FF787878" MaxWidth="500" MaxHeight="500" Center="9000,9000" CanScale="True" Visibility="Visible" RenderTransformOrigin="0.5,0.5" Width="200" Height="150" > 
    <!--Bunch of other items like textboxes here--> 
     <Grid x:Name="HancockDetails" Height="{Binding ActualHeight, ElementName=grid1}" VerticalAlignment="Top" Width="{Binding ActualWidth, ElementName=grid1}" Grid.Column="1" RenderTransformOrigin="0.5,0.5" FlowDirection="RightToLeft" HorizontalAlignment="Left"> 
     <Grid.RenderTransform> 
      <TranslateTransform x:Name="hcDetailTransform" /> 
     </Grid.RenderTransform> 
      <Rectangle> 
      <TabControl> 
       <TabItem> 
       <TextBlock> 
       </TextBlock> 
       </TabItem> 
      </TabControl> 
      </Rectangle> 
      </Grid> 
    </Scatterviewitem> 
+0

Опубликуйте свой полный xaml, где у вас есть эти два элемента управления, трудно угадать контекст с предоставленной информацией. – Viv

+0

Я думаю, я могу попытаться усечь его. Вышеупомянутый макет. У меня намного больше отдельных предметов, но я уверен, что они не связаны. – user99999991

+0

Даже добавили дополнительную картинку, чтобы показать, как она масштабируется. – user99999991

ответ

0

Это невероятно трудно для нас, чтобы догадаться, как вы, возможно, закодированы ваш пользовательский интерфейс, так что без вас предоставления какой-то код, то маловероятно, что мы сможем узнать, что ваш точный проблема есть.

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

Можете ли вы не просто сделать этот внешний прямоугольник слегка повернутым Grid с двумя колонками; главное окно в левом столбце и другой «ящик» в правой колонке? Затем, когда пользователь изменяет размер окна, Grid автоматически заполнит пространство и сохранит все вместе.

+0

Прошу прощения, я добавил еще XAML-код, как ранее просил исходный пост, но он не форматировался правильно.Я никогда не видел этого раньше в Stackoverflow, где код даже не отображается как обычный текст! Извините>. <Я упомянул, что поле слева - это элемент Scatterview. Я должен был также упомянуть, что прямоугольник справа (или «выдвижной ящик», который движется) представляет собой сетку с прямоугольником и элементом управления вкладкой. «Вращение» - это просто рассеивание от Surface SDK2.0, где вы можете касатьться, бросать, вращать, масштабировать поля. – user99999991

+0

Коробка справа, ящик, с которым у меня возникают проблемы с масштабированием, должен быть дочерним элементом слева, потому что он имеет элемент рассеивания. Он автоматически наследует ходы, вращается, бросает физику и масштабируется, когда пользователь касается окна. И обратите внимание, что поле справа изначально не видно, но изначально выходит из-за окна слева. Я добавил еще одну картинку, чтобы показать это. – user99999991

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

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