2012-06-28 68 views
1

我有一個包含devexpress GridControl的控件。我想要設置一個ScrollViewer,這樣當查看區域小於GridControl的最小寬度時,會出現一個水平滾動條。然後,當查看區域被調整大小時,當查看區域大於MinWidthGridControl時,滾動條會消失,直到達到MaxWidth,此時GridControl停止增長。然後,這是看起來如此難以捉摸的部分,我希望能夠再次縮小查看區域,並與它簽訂合約,直到達到「MinWidth」並再次出現滾動條。可以使用scrollviewer在最小寬度和最大寬度之間水平拉伸它的內容嗎?

到目前爲止,我只能實現GridControl的增長 - 當查看區域縮小時,滾動條立即出現,並且GridControl永遠不會變小。

任何想法?

編輯:這似乎是與DevExpress GridControl的問題。以下是一個演示與Rectangle S,A DataGridGridControl的行爲的一個例子:

<UserControl xmlns:dxg="clr-namespace:DevExpress.Xpf.Grid;assembly=DevExpress.Xpf.Grid.v11.2" x:Class="MyNamespace.ScrollViewerTest" 
      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"> 
    <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> 
     <Grid> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition /> 
       <RowDefinition /> 
       <RowDefinition /> 
      </Grid.RowDefinitions> 
      <Rectangle Width="500" Height="200" Fill="AliceBlue" /> 
      <Rectangle Grid.Row="1" MinHeight="200" MaxHeight="400" MinWidth="500" MaxWidth="1000" Fill="Bisque" /> 
      <DataGrid Grid.Row="2" MinWidth="500" MaxWidth="10000" MinHeight="200" MaxHeight="400">     
       <DataGrid.Columns> 
        <DataGridTextColumn Header="Column 1" Width="Auto"/> 
        <DataGridTextColumn Header="Column 2" Width="Auto"/> 
        <DataGridTextColumn Header="Column 3" Width="Auto"/> 
        <DataGridTextColumn Header="Column 4" Width="Auto"/> 
       </DataGrid.Columns> 
      </DataGrid> 
      <dxg:GridControl Grid.Row="3" MinWidth="500" MinHeight="200" MaxWidth="1000" MaxHeight="400"/> 
     </Grid> 

    </ScrollViewer>   

</UserControl> 

注意如何GridControlMaxWidth開始時,不與控件的其餘部分伸展。此外,請注意,在調整窗口大小時,垂直調整大小的工作原理 - GridControl大小上下調整(如果您的顯示器較小,則可能需要調整MinHeight)。其他控件在max和min之間正確調整大小。第一個矩形的寬度和高度固定爲基本情況。

回答

2

這似乎爲我工作(我取代一個列表框,而不是獲取GridControl):

<ScrollViewer HorizontalAlignment="Stretch" Name="scrollViewer1" VerticalAlignment="Stretch" Margin="8" HorizontalScrollBarVisibility="Auto"> 
     <ListBox Name="listBox1" MinWidth="400" MaxWidth="600" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /> 
    </ScrollViewer> 
+0

謝謝邁克爾,我更新了我的問題,包括行爲,這似乎是相關的例子devexpress控制。我還包括devexpress作爲一個標籤,以更具體。 – Erikest

相關問題