我在DataGridTemplateColumn中有以下代码:
<Controls:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding AlternateTeacherName, Mode=TwoWay}" Style="{StaticResource InputTextBox}"/>
</StackPanel>
</DataTemplate>
风格是:
<Style x:Key="InputTextBox" TargetType="TextBox" >
<Setter Property="Margin" Value="1" />
<Setter Property="MinWidth" Value="30" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="TextAlignment" Value="Left" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
问题我得到的是文本框正确填充列宽(包括调整大小时),但如果我在文本框中键入,则当光标到达行尾时不可见。我希望文字向左滚动,以便当前文字仍然可见。
感谢
答案 0 :(得分:0)
取出StackPanel。它从左到右对齐元素,不伸展以填充剩余空间。你也可以在你的Style中摆脱HorizontalAlignment和MinWidth。如果必须设置MinWidth,它应该在列上。