动态设置 DataGridTextColumn MaxLength 属性

发布于 2025-01-11 08:24:53 字数 620 浏览 0 评论 0原文

我想根据整数变量动态设置 DataGridTextColumn.MaxLength 属性。因此,在某些情况下它应该是 4,而在其他情况下它应该是 5。

我尝试使用 MaxLength 值的绑定,如下所示:

<DataGridTextColumn.EditingElementStyle>
    <Style TargetType="{x:Type TextBox}">
        <Setter Property="MaxLength" Value="{Binding MaxTextBoxLength, UpdateSourceTrigger=PropertyChanged}"/>
    </Style>
</DataGridTextColumn.EditingElementStyle>
public int MaxTextBoxLength
{
    get => maxTextBoxLength;
    set
    {
        maxTextBoxLength= value;
        RaisePropertyChanged();
    }
}

I want to set the DataGridTextColumn.MaxLength property dynamically based on an integer variable. Therefore, in some cases it should be 4 and in others it should be 5.

I tried it with a binding on the MaxLength value like this:

<DataGridTextColumn.EditingElementStyle>
    <Style TargetType="{x:Type TextBox}">
        <Setter Property="MaxLength" Value="{Binding MaxTextBoxLength, UpdateSourceTrigger=PropertyChanged}"/>
    </Style>
</DataGridTextColumn.EditingElementStyle>
public int MaxTextBoxLength
{
    get => maxTextBoxLength;
    set
    {
        maxTextBoxLength= value;
        RaisePropertyChanged();
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

慵挽 2025-01-18 08:24:53

如果 MaxTextBoxLength 在视图模型中定义,您可以使用 RelativeSource 属性绑定到它:

<DataGridTextColumn.EditingElementStyle>
    <Style TargetType="{x:Type TextBox}">
        <Setter Property="MaxLength"
                Value="{Binding DataContext.MaxTextBoxLength, 
                    RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
    </Style>
</DataGridTextColumn.EditingElementStyle>

iF MaxTextBoxLength is defined in the view model, you could bind to it using the RelativeSource property:

<DataGridTextColumn.EditingElementStyle>
    <Style TargetType="{x:Type TextBox}">
        <Setter Property="MaxLength"
                Value="{Binding DataContext.MaxTextBoxLength, 
                    RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
    </Style>
</DataGridTextColumn.EditingElementStyle>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文