0

私はRadGridView(telerik のバージョンのGridView) を持っており、これRadGridViewには次の列があります。

<telerik:GridViewCheckBoxColumn DataMemberBinding="{Binding Revoked}" AutoSelectOnEdit="True" Header="Revoked" UniqueName="Revoked" Width="Auto" IsReadOnly="False" FooterTextAlignment="Right" CellStyle="{StaticResource GridCellStyle}" />

チェックボックス列に基づいて、グリッド内の別の 2 つの列に読み取り専用フラグを有効/無効にするか、設定したいと考えています。

<telerik:GridViewDataColumn 
    DataMemberBinding="{Binding RevokedBy}" 
    Header="Revoked By" 
    UniqueName="RevokedBy" 
    Width="Auto" 
    IsReadOnly="{Binding Revoked}" 
    FooterTextAlignment="Right" 
    CellStyle="{StaticResource GridCellStyle}" />
<telerik:GridViewDataColumn 
    DataMemberBinding="{Binding RevokedDateTime}" 
    DataFormatString="dd/MM/yyyy HH:mm:ss" 
    Header="Revoked Date Time" 
    UniqueName="RevokedDateTime" 
    Width="Auto" 
    IsReadOnly="{Binding Revoked}" 
    FooterTextAlignment="Right" 
    CellStyle="{StaticResource GridCellStyle}">
   <telerik:GridViewDataColumn.CellEditTemplate>
       <DataTemplate>
           <WrapPanel Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="4">
               <telerik:RadDateTimePicker 
                   Margin="0 5 5 5" 
                   Width="250"
                   DisplayFormat="Short"                                     
                   InputMode="DatePicker" 
                   DateSelectionMode="Day"
                   DateTimeWatermarkContent="Select Date"
                   MaxWidth="155"
                   MinWidth="155"
                   SelectedDate="{Binding RevokedDate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>

               <telerik:RadMaskedDateTimeInput 
                   Margin="5"
                   Culture="en-GB"
                   EmptyContent="Enter Time"
                   InputBehavior="Replace"
                   Mask="HH:mm:ss"
                   SelectionOnFocus="SelectAll"
                   TextMode="MaskedText"
                   Value="{Binding RevokedTime, Mode=TwoWay}"/>
           </WrapPanel>
       </DataTemplate>
   </telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>

IsReadOnlyこれまでのところ、 andIsEnabledプロパティをバインドしようとしましたRevokedが、これは機能していないようで、Revokedプロパティが設定されており、RaisePropertyChangedイベントが繰り返されていることがわかります。

どんな助けでも大歓迎です。

更新しました:

ビューモデル:

/// <summary>
/// The agreements.
/// </summary>
private ObservableCollection<NotificationAgreement> agreements;

/// <summary>
/// Gets or sets the agreements.
/// </summary>
public ObservableCollection<NotificationAgreement> Agreements
{
    get
    {
        return this.agreements ?? (this.agreements = new ObservableCollection<NotificationAgreement>());
    }

    set
    {
        this.agreements = value;
        this.RaisePropertyChanged(() => this.Agreements);
    }
}

また、NotificationAgreement クラスには次のプロパティがあります。

/// <summary>
/// Gets or sets a value indicating whether revoked.
/// </summary>
public bool Revoked
{
    get
    {
        return this.revoked;
    }

    set
    {
        this.revoked = value;
        this.RaisePropertyChanged(() => this.Revoked);
    }
}
4

1 に答える 1