2012-05-16 65 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

它的正常工作 - 它只是你不將菜單加入帳戶

相關問題