【问题标题】:Keep the original checkbox status保持原来的复选框状态
【发布时间】:2016-10-13 15:08:09
【问题描述】:

我有一个复选框

  <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 = "你不能更新它"。

在这种情况下,我想保持原来的复选框状态/例如,如果它被选中,通过单击它。它没有被检查。但由于条件失败,我想保持选中状态。

有什么诀窍?

【问题讨论】:

    标签: .net xaml mvvm telerik


    【解决方案1】:

    CheckBox_Checked 中,您可以简单地这样做:

    var cb = (CheckBox)sender;
    
    if (!canProceed)
    {
        cb.Checked = !cb.Checked
    }
    

    但更好的方法是在不应更改 CheckBox 时禁用它。您也可以使用转换器,详情请参阅this

    【讨论】:

      猜你喜欢
      • 2014-06-14
      • 1970-01-01
      • 2012-08-25
      • 2016-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多