我有一個包含devexpress GridControl
的控件。我想要設置一個ScrollViewer
,這樣當查看區域小於GridControl
的最小寬度時,會出現一個水平滾動條。然後,當查看區域被調整大小時,當查看區域大於MinWidth
和GridControl
時,滾動條會消失,直到達到MaxWidth
,此時GridControl
停止增長。然後,這是看起來如此難以捉摸的部分,我希望能夠再次縮小查看區域,並與它簽訂合約,直到達到「MinWidth」並再次出現滾動條。可以使用scrollviewer在最小寬度和最大寬度之間水平拉伸它的內容嗎?
到目前爲止,我只能實現GridControl
的增長 - 當查看區域縮小時,滾動條立即出現,並且GridControl
永遠不會變小。
任何想法?
編輯:這似乎是與DevExpress GridControl
的問題。以下是一個演示與Rectangle
S,A DataGrid
和GridControl
的行爲的一個例子:
<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>
注意如何GridControl
在MaxWidth
開始時,不與控件的其餘部分伸展。此外,請注意,在調整窗口大小時,垂直調整大小的工作原理 - GridControl
大小上下調整(如果您的顯示器較小,則可能需要調整MinHeight
)。其他控件在max和min之間正確調整大小。第一個矩形的寬度和高度固定爲基本情況。
謝謝邁克爾,我更新了我的問題,包括行爲,這似乎是相關的例子devexpress控制。我還包括devexpress作爲一個標籤,以更具體。 – Erikest