2016-10-13 2 views
0

Ich habe eine Checkboxdie ursprüngliche Kontrollkästchen Status

<telerik:GridViewColumn Width="40" Header="Something" HeaderTextAlignment="Center" TextAlignment="Center"> 
         <telerik:GridViewColumn.CellTemplate> 
          <DataTemplate> 
           <CheckBox HorizontalAlignment="Center" IsChecked="{Binding Order,Converter={StaticResource ShortToBooleanConverter},Mode=TwoWay}" 
              Click="CheckBox_Checked"> 

           </CheckBox> 
          </DataTemplate> 
         </telerik:GridViewColumn.CellTemplate> 
        </telerik:GridViewColumn> 

in dem Click-Ereignis in Code-behind.

private void CheckBox_Checked(object sender, RoutedEventArgs e) 
    { 

Ich möchte eine Nachricht anzeigen, wenn die Bedingung fehlschlägt.

var message = "Sie können es nicht aktualisieren".

In diesem Fall möchte ich das ursprüngliche Kontrollkästchen Status/Zum Beispiel, wenn es überprüft wurde, indem Sie darauf klicken. Es ist nicht abgehängt. Aber da die Bedingung fehlschlägt, möchte ich sie als überprüft behalten.

Was ist der Trick?

Antwort

2

Innen CheckBox_Checked Sie können dies einfach tun:

var cb = (CheckBox)sender; 

if (!canProceed) 
{ 
    cb.Checked = !cb.Checked 
} 

Aber der bessere Ansatz ist zu CheckBox zu deaktivieren, wenn es nicht geändert werden soll. Sie können auch Konverter verwenden, siehe this für weitere Details.

Verwandte Themen