一旦使用網格劃分器調整網格大小,當其他行摺疊時,行*將不會回收空間。調整大小後的WPF GridSplitter
我有三行的主詳細視圖中的以下網格。數據網格位於中間的分離器頂部,最後一行爲內容控制視圖。分離器上有一個關閉按鈕來摺疊細節。這一切都適用於一旦用戶使用網格分割器調整大小的例外。
<Grid Margin="3,0">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Style="{StaticResource CollapsableRow}"/><!-- Splitter Here -->
<RowDefinition Style="{StaticResource CollapsableRow}"/>
</Grid.RowDefinitions>
的GridSplitter風格:
<Style x:Key="gridSplitterStyle" TargetType="{x:Type GridSplitter}">
<Setter Property="Visibility" Value="{Binding IsItemSelected, Converter={StaticResource BoolToShow},ConverterParameter='Visible|Collapsed'}" />
<Setter Property="Width" Value="Auto"/>
<Setter Property="Height" Value="14"/>
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="Border.BorderBrush" Value="#FF6593CF" />
<Setter Property="Border.BorderThickness" Value="0,1,0,0" />
<Setter Property="UIElement.SnapsToDevicePixels" Value="True" />
<Setter Property="UIElement.Focusable" Value="False" />
<Setter Property="Control.Padding" Value="7,7,7,7" />
<Setter Property="Cursor" Value="SizeNS" /></Style>
就像我說的崩潰正常工作,除非gridsplitter來調整。之後,空白停留。編輯: H.B.和codenaked有簡單洽建議,以便和我試圖執行這些W/O的數據觸發成功:
<Style x:Key="CollapsableRow" TargetType="{x:Type RowDefinition}">
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedItem, Converter={StaticResource IsNullConverter}}" Value="True">
<Setter Property="RowDefinition.Height" Value="0"/>
</DataTrigger>
<DataTrigger Binding="{Binding SelectedItem, Converter={StaticResource IsNullConverter}}" Value="False">
<Setter Property="RowDefinition.Height" Value="Auto"/>
</DataTrigger>
</Style.Triggers>
</Style>
中類似問題的回答。在代碼中設置網格長度是需要完成的工作。但是在這種情況下雙擊不起作用。網格分路器正在設計風格,實際上是分路器上的一個按鈕,用於完成關閉。我選擇覆蓋網格分割器並在那裏設置parent.hiegth。 – 2011-05-12 09:56:59
我的代碼只是一個例子,我從來沒有想過你會對DoubleClick做任何事情。 – 2011-05-12 13:11:25