0
我有一列RadGridView
(Telerik的版本GridView
),並在此RadGridView
我有以下的列:WPF GridView控件SetReadOnly或啓用基於一個複選框
<telerik:GridViewCheckBoxColumn DataMemberBinding="{Binding Revoked}" AutoSelectOnEdit="True" Header="Revoked" UniqueName="Revoked" Width="Auto" IsReadOnly="False" FooterTextAlignment="Right" CellStyle="{StaticResource GridCellStyle}" />
我想要麼啓用/禁用或者根據複選框列設置網格中另外兩列的只讀標誌。
<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
和IsEnabled
財產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);
}
}
根據要求更新我的問題 –