2012-04-18 1 views
0

У меня проблема с растяжкой с помощью средства просмотра прокрутки, у меня есть текстовое поле и кнопка внутри панели док-станции вместе с моим scrollviewer, я хотел, чтобы просмотрщик прокрутки находился под этими элементами, но растянулся до ширины панели док-станции и высотой, растянутой снизу панели док-станции до кнопки и текстового поля.Прокрутить просмотрщик, прикрепленный к правой стороне док-панели?

Так я судимое это:

<UserControl x:Class="WpfApplication4.AppPages.FindStudent" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      mc:Ignorable="d" 
      d:DesignHeight="300" d:DesignWidth="300" Loaded="UserControl_Loaded"> 
    <DockPanel Height="299" Width="289"> 
     <TextBox Height="23" Name="textBox1" Width="188" VerticalAlignment="Top"/> 
     <Button Content="Button" Height="23" Name="button1" Width="100" Click="button1_Click" VerticalAlignment="Top" /> 
     <ScrollViewer VerticalScrollBarVisibility="Hidden" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="88"> 

Однако зритель прокрутки как-то прилип к правой стороне, как так:

enter image description here

ответ

1

Вы должны сообщить детали, как док-станции с использованием прилагаемого имущества DockPanel.Dock.

Что-то вроде этого:

<DockPanel> 
    <StackPanel DockPanel.Dock="Top" Orientation="Horizontal"> 
     <TextBox /> 
     <Button /> 
    <StackPanel> 
    <ScrollViewer DockPanel.Dock="Top" /> 
</DockPanel> 

Обратите внимание, что по умолчанию последним потомком DockPanel заполнит оставшееся свободное пространство.

+0

На DockPanel вы можете установить LastChildFill = "False", если вы не хотите, чтобы последний элемент управления растягивался, чтобы заполнить оставшееся пространство. –

+0

Привет, Джей, что сработало, спасибо. –

1

Я откликнусь от того, что сказал Джей, вам нужно указать, как вы хотите, чтобы элементы управления подключались к вашей DockPanel, установив DockPanel.Dock. Некоторые дополнительные примечания:

  • LastChildFill будет контролировать тянется ли последний элемент, чтобы заполнить оставшееся пространство
  • по умолчанию стыковки является левой
  • Порядок, в котором элементы управления перечислены будут влиять, как они состыкованы ,

См. MSDN documentation here и simple tutorial here.

+0

+1 спасибо LastChildFill была приятной добавкой. –

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