1

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

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

谢谢

4

1 回答 1

2

我知道这个有点旧,但我在回答类似问题之前就达到了,所以仅供参考。

您可以使用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}"/>
于 2013-03-26T21:34:47.600 回答