创建DataGrid ReadOnly的第一行

Chr*_*ang 0 wpf datagrid

我正在使用DataGrid在我的WPF应用程序中显示用户权限.

DataGrid的第一行将始终包含为其显示权限的项目的所有者.

在创建项目时设置此所有者,并且无法直接从DataGrid更改.

我的问题是.

如何创建第一行ReadOnly,并且可能给它一个特定的样式,以便可以更改背景?

emy*_*bob 5

你需要一个触发器,唯一的问题是在wpf datagrid上获取行索引是非常糟糕的,所以我倾向于做这样的事情:

    <DataGrid.RowStyle>
            <Style TargetType="DataGridRow">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=IsOwner}" Value="true">
                        <Setter Property="IsEnabled" Value="False"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </DataGrid.RowStyle>
Run Code Online (Sandbox Code Playgroud)

我所知道的对象的属性值对于该特定行是唯一的.因此,如果有一个唯一的ID或所有者总是拥有的东西,你可以绑定到它.

setter属性为'IsEnabled',因为datagridrow不包含readonly的属性,但这将阻止用户修改该行.