Skip to main content
All docs
V25.1
  • BaseColumn.IsReadOnlyBinding Property

    Gets or sets the binding that determines a cell’s read-only state.

    Namespace: DevExpress.Xpf.Grid

    Assembly: DevExpress.Xpf.Grid.v25.1.Core.dll

    NuGet Package: DevExpress.Wpf.Grid.Core

    Declaration

    [DefaultValue(null)]
    public BindingBase IsReadOnlyBinding { get; set; }

    Property Value

    Type Default Description
    BindingBase null

    The binding that associates the read-only state of cells with a property in a data source.

    Remarks

    The code sample below sets cells in the Progress column as read-only if a task has subtasks:

    View Example: Read-only and Enabled State Binding

    <dxg:TreeListControl x:Name="treeList"
                         ItemsSource="{Binding Path=EditableDataSource, Source={StaticResource employeeTasks}}">
        <dxg:TreeListControl.Columns>
            <dxg:TreeListColumn FieldName="Name" Header="Task"/>
            <dxg:TreeListColumn FieldName="Employee" Header="Assignee"/>
    
            <dxg:TreeListColumn FieldName="Status" Header="Progress" 
                                IsReadOnlyBinding="{Binding HasSubtasks}"/>
    
            <dxg:TreeListColumn FieldName="StartDate"/>
            <dxg:TreeListColumn FieldName="DueDate"/>
        </dxg:TreeListControl.Columns>
        <dxg:TreeListControl.View>
            <dxg:TreeListView x:Name="view" KeyFieldName="ID" ParentFieldName="ParentID"/>
        </dxg:TreeListControl.View>
    </dxg:TreeListControl> 
    
    public class EmployeeTask: INotifyPropertyChanged {
        public int ID { get; set; }
        public int ParentID { get; set; }
        public string Name { get; set; }
        public string Employee { get; set; }
        public DateTime StartDate { get; set; }
        public DateTime DueDate { get; set; }  
        public int Status { get; set; }        
        public bool HasSubtasks { get; }
    
        // ...
    } 
    

    Customize Appearance Settings of Read-only Cells

    To change the appearance settings of read-only cells, use the ColumnBase.CellStyle property with a trigger. Use the LightweightCellEditor as the style’s target type.

    <dxg:TreeListColumn.CellStyle>
        <Style TargetType="dxg:LightweightCellEditor">
            <Style.Triggers>
                <Trigger Property="ReadOnly" Value="True">
                    <Setter Property="Background" Value="LightGray" />                               
                </Trigger>
            </Style.Triggers>
        </Style>
    </dxg:TreeListColumn.CellStyle>
    

     

    For more information, refer to Disable Editing.

    The following code snippet (auto-collected from DevExpress Examples) contains a reference to the IsReadOnlyBinding property.

    Note

    The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

    See Also