2012-11-22 84 views
1

有没有方法可以设置WPF中DataGridTextBoxColumn的最大长度?我找不到这个属性,我能想到的唯一方法就是使用DataGridTemplateColumn。设置WPF中DataGridTextBoxColumn的最大长度

但是,当我尝试编辑时遇到其他问题。我喜欢有相同的行为:文本被选中,我可以开始输入正确的方式,这不是我现在得到的。

感谢

回答

2

我知道这个人是有点老,但我的一个类似question答案之前到达,所以仅供参考之用。

您可以使用EditingElementStyle属性,您可以在其中定位单元格的内部TextBox

<DataGridTextColumn> 
    <DataGridTextColumn.EditingElementStyle> 
     <Style TargetType="TextBox"> 
      <Setter Property="MaxLength" Value="10"/> 
     </Style> 
    </DataGridTextColumn.EditingElementStyle> 
</DataGridTextColumn> 

如果你在几个地方有这个样式,你可以将这个样式移动到一个公共资源或一个单独的文件并从那里使用它。在这种情况下,你需要这样的东西:

样式资源:

<Style TargetType="{x:Type TextBox}" x:Key="TextBoxWithMaxLength" > 
    <Setter Property="MaxLength" Value="10"/> 
</Style> 

XAML:

<DataGridTextColumn EditingElementStyle="{StaticResource TextBoxWithMaxLength}"/>