如何让文本框填充列并自动滚动?

时间:2010-05-26 03:03:28

标签: silverlight silverlight-3.0

我在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" />

问题我得到的是文本框正确填充列宽(包括调整大小时),但如果我在文本框中键入,则当光标到达行尾时不可见。我希望文字向左滚动,以便当前文字仍然可见。

感谢

1 个答案:

答案 0 :(得分:0)

取出StackPanel。它从左到右对齐元素,不伸展以填充剩余空间。你也可以在你的Style中摆脱Horizo​​ntalAlignment和MinWidth。如果必须设置MinWidth,它应该在列上。