要重现此问题: 垃圾邮件(例如),直到您开始点击正确的gridplitter区域。 gridsplitter移动超过右侧最小宽度限制。
预期行为:在文本框中输入(键入/粘贴)时超出宽度限制不会移动网格切割器,但会立即激活滚动条。
条件
代码:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10000*" MinWidth="25"/>
<ColumnDefinition Width="8" />
<ColumnDefinition Width="*" MinWidth="25" />
</Grid.ColumnDefinitions>
<ScrollViewer HorizontalScrollBarVisibility="Visible">
<TextBox AcceptsReturn="True" AcceptsTab="True" TextWrapping="Wrap" />
</ScrollViewer>
<GridSplitter Background="Black"
BorderBrush="White"
BorderThickness="1,0,0,0"
ResizeDirection="Columns"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Grid.Column="1" />
<Grid Background="Red" Grid.Column="2" />
</Grid>
答案 0 :(得分:1)
造成问题
<ColumnDefinition Width="10000*" MinWidth="25"/>
改为使用列定义的百分比值:
<Grid.ColumnDefinitions>
<ColumnDefinition Width=".75*" MinWidth="25"/>
<ColumnDefinition Width="8" />
<ColumnDefinition Width=".25*" MinWidth="25" />
</Grid.ColumnDefinitions>