2016-10-13 2 views
0

У меня есть флажоксохранить оригинальный CheckBox статус

<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> 

В случае щелчка в коде позади.

private void CheckBox_Checked(object sender, RoutedEventArgs e) 
    { 

Я хочу отобразить сообщение, если состояние не удалось.

var message = "Вы не можете обновить его".

В этом случае я хочу сохранить исходный статус флажка/Например, если он был отмечен, щелкнув его. Он не снят. Но по мере того как условие терпит неудачу, я хочу держать его как проверено.

Какая уловка?

ответ

2

Внутри CheckBox_Checked вы можете просто сделать это:

var cb = (CheckBox)sender; 

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

Но лучше подход к отключить CheckBox, когда оно не должно быть изменено. Вы также можете использовать конвертер, см. this для более подробной информации.

Смежные вопросы