繁体   English   中英

datagrid元素名称上的样式触发器

[英]style trigger on datagrid element name

我想在window.resources标记内设置样式,我需要在DatagridTextColumn上设置maxlength属性,但找不到有效的解决方案。

Windows资源:

<Window.Resources>
    <Style x:Key="CellEditStyle" TargetType="{x:Type TextBox}">
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="Padding" Value="0"/>
        <Style.Triggers>
            <DataTrigger Binding="{??? ElementName=RefFourn ???}">
                <Setter Property="MaxLength" Value="19"/>
            </DataTrigger>
            <Trigger Property="Validation.HasError" Value="true">
                <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/>
            </Trigger>
        </Style.Triggers>
    </Style>
</Window.Resources>

xaml数据网格:

<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn x:Name="RefFourn" Header="Ref Fourn" EditingElementStyle="{StaticResource CellEditStyle}" Binding="{Binding Path=RefFourn, ValidatesOnDataErrors=True, NotifyOnValidationError=True}">
</Datagrid.Columns
</Datagrid>

如下更改您的样式:

  <Style x:Key="CellEditStyle" TargetType="{x:Type TextBox}">
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="MaxLength" Value="19"/>
        <Setter Property="Padding" Value="0"/>
        <Style.Triggers>               
            <Trigger Property="Validation.HasError" Value="true">
                <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/>
            </Trigger>
        </Style.Triggers>
    </Style>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM