0
我有一個垂直網格中的Gridsplitter,理想情況下希望在GridSplitter中看到兩個按鈕。向上按鈕會自動將分離器移動到最高位置,而最下面的按鈕會將其完全移動。但是,GridSplitter不能包含其他項目。有沒有想過在這個方面呢?我想製作一個面板,然後將它夾在兩個GridSplitters之間?如何讓GridSplitter在極端之間移動
我有一個垂直網格中的Gridsplitter,理想情況下希望在GridSplitter中看到兩個按鈕。向上按鈕會自動將分離器移動到最高位置,而最下面的按鈕會將其完全移動。但是,GridSplitter不能包含其他項目。有沒有想過在這個方面呢?我想製作一個面板,然後將它夾在兩個GridSplitters之間?如何讓GridSplitter在極端之間移動
GridSplitter從Control繼承,因此,所有你需要做的就是定義一個模板,它包含兩個按鈕:
<ControlTemplate x:Key="SplitterWithButtons" TargetType="{x:Type GridSplitter}">
<Border BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}">
<DockPanel>
<Button DockPanel.Dock="Left" Content="{StaticResource UpArrow}" Click="OnSplitterUpButton" />
<Button DockPanel.Dock="Right" Content="{StaticResource DownArrow}" Click="OnSplitterDownButton" />
</DockPanel>
</Border>
</ControlTemplate>
...
<GridSplitter Template="{StaticResource SplitterWithButtons}" ... />
內,您的事件處理程序,你可以找到這樣的GridSplitter:
private void OnSplitterUpButton(object sender, RoutedEventArgs e)
{
var splitter = ((Button)sender).TemplatedParent as GridSplitter;
...
}