wpf - 我们可以移动 Grid Splitter On Left 就像我们在 wpf 中单击按钮时拖动它一样吗?

标签 wpf vb.net xaml

    <Grid>
    <StackPanel>
        <StackPanel Orientation="Horizontal">
            <Button Content="◄" HorizontalAlignment="Left"  VerticalAlignment="Top"/>
    <Button Content="►" HorizontalAlignment="Right"  VerticalAlignment="Top"/>
    </StackPanel>

    <Grid Height="245">

    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <!--Declaring Label-->
            <DockPanel LastChildFill="False" Background="Yellow">
        <Label Content="Left" Grid.Column="0" DockPanel.Dock="Left" />
    </DockPanel>
    <!--Splitter Code-->
    <GridSplitter HorizontalAlignment="Right" VerticalAlignment="Stretch" Grid.Column="1" ResizeDirection="Columns" 
                  Background="Black" ResizeBehavior="PreviousAndNext" Width="10"/>
    <!--Declaring Label-->
    <Label Content="Right" Grid.Column="2" Background="Pink"/>
   </Grid>
    </StackPanel>
</Grid>

我想在单击按钮时拖动 Grid Splitter。我尝试了 Double Animation.StoryBoard,它适用于网格但不适用于网格拆分器。

[Initial Image] 1

Dragged Left

Dragged Right

最佳答案

您必须调整网格列的大小,而不是 gridsplitter。

private void BtnLeft_Click(object sender, RoutedEventArgs e)
{
    MyGrid.ColumnDefinitions[0].Width = new GridLength(100);
}
<Grid x:Name="MyGrid">
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>

    <Label Content="Left" Background="LightBlue" />
    <GridSplitter Grid.Column="1" Width="10" ResizeBehavior="PreviousAndNext" />
    <Label Content="Right" Background="LightGoldenrodYellow" Grid.Column="2" />

    <Button Content="Left"  HorizontalAlignment="Left" VerticalAlignment="Top" Click="BtnLeft_Click" />
</Grid>

关于wpf - 我们可以移动 Grid Splitter On Left 就像我们在 wpf 中单击按钮时拖动它一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32264330/

相关文章:

c# - WPF 命令绑定(bind)到带有 MVVM 的 DataItemTemplate

c# - 如何检测 WPF 中的修饰键状态?

wpf - 在 UserControl 中设置 DataContext 会影响父级中的绑定(bind)

c# - 通过更多地控制 URL 和信息来更好地控制 Web 浏览器?

WPF/XAML : How to make all text upper case in TextBlock?

c# - 将 ComboBox 绑定(bind)到 ObservableCollection 的一部分

vb.net - 在 vb.net 中使用线程的进度 "bar"

asp.net - 尝试使用 NPOI 填充 Excel 模板时出错

c# - 根据值更改 DataGrid 单元格颜色

c# - WPF:沿路径几何设置动画