2012-05-16 69 views
0

不管我做什么,我不能让行程度的滚动型:(ScrollViewer实际高度返回错误值?

enter image description here

<Grid> 
    <DockPanel 
     HorizontalAlignment="Stretch" 
     Name="dock" 
     VerticalAlignment="Stretch" 
     LastChildFill="True" 
     Focusable="True"> 
     <Menu 
      Name="menuBar" 
      HorizontalContentAlignment="Stretch" 
      BorderThickness="0,0,0,1" 
      BorderBrush="Silver" 
      VerticalAlignment="Top" 
      DockPanel.Dock="Top"> 
      <MenuItem 
       Header="File" /> 
      <MenuItem 
       Header="Options"> 
       <MenuItem 
        Header="Personal Info" /> 
      </MenuItem> 
      <MenuItem 
       Header="View" /> 
      <MenuItem 
       Header="About" /> 
     </Menu> 
     <TextBox 
      Name="txtInput" 
      DockPanel.Dock="Bottom" 
      Height="23" 
      SpellCheck.IsEnabled="True" 
      VerticalAlignment="Bottom" 
      BorderThickness="1,2,1,1" 
      KeyDown="txtInput_KeyDown" 
      TabIndex="1" /> 
     <ListBox 
      Name="lstUsers" 
      ItemsSource="{Binding}" 
      DockPanel.Dock="Right" 
      Width="160" 
      BorderThickness="2,0,0,0" 
      BorderBrush="LightGray" /> 
     <ScrollViewer 
      Name="lstMessagesScroll" 
      VerticalScrollBarVisibility="Auto"> 
      <ItemsControl 
       Name="lstMessages" 
       ItemsSource="{Binding}" 
       VerticalAlignment="Bottom" /> 
     </ScrollViewer> 
    </DockPanel> 
    <Line 
     StrokeThickness="0.5" 
     X1="116" 
     X2="116" 
     Y1="23" 
     Stroke="Gainsboro" 
     Y2="{Binding ElementName=lstMessagesScroll, Path=ActualHeight}" /> 
</Grid> 

任何提示的底部

+0

您将需要发布一些更多的代码。因为 - 当我在一个空白的应用程序中将您的代码放入一个Grid中时(将开始标记为) - 该行确实延伸至底部。 –

+0

也许DockPanel未设置为伸展到其父项的底部 - 也许它具有非零底部边距值或其VerticalAlignment未设置为拉伸。 –

+0

嗨,对不起,我认为它可能会混淆这个问题,但是我发布了更多。 – sprocket12

回答

0

在玩弄你的XAML时,我发现如果你将高度绑定到相同的元素并将Y1设置为0,那么它会按照我相信你所期待的方式来行事

<Line 
    StrokeThickness="0.5" 
    X1="116" 
    X2="116" 
    Y1="0" 
    Stroke="Gainsboro"  
    Y2="{Binding ElementName=lstMessagesScroll, Path=ActualHeight }" 
    Height="{Binding ElementName=lstMessagesScroll, Path=ActualHeight }" /> 

+0

现在完美工作谢谢!对不起,我是WPF全新的简单错误。 – sprocket12

+0

@MuhammadA这是一个怪癖,而不是一个错误,我通过玩弄它发现了它。 –

0

它的正常工作 - 它只是你不将菜单加入帐户

相关问题