WPF 之 利用Visibility属性进行Item模板切换

本文介绍了一种在WPF应用程序中使用按钮的状态切换方法。通过定义一个转换器`AccountStatusToVisibility`来控制按钮的可见性,该转换器根据绑定的`Status`属性和参数动态调整按钮的显示状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  前台Xaml如下:

<Grid.Resources>
    <xx:AccountStatusToVisibility x:Key="AccountStatusToVisibility" />
</Grid.Resources>
 <telerik:RadButton Visibility="{Binding Status, Mode=OneWay, Converter={StaticResource AccountStatusToVisibility}, ConverterParameter=Disabled}" 
  Margin
="0 0 5 0" Click="RadButton_Click"
  Command
="{Binding Path=DataContext.CmdDisabled, RelativeSource={RelativeSource AncestorType={x:Type telerik:RadGridView}}}" >设置启用</telerik:RadButton>

   后台,模板切换类:

   public class AccountStatusToVisibility : IValueConverter
     {
             #region "IValueConverter Members"

             public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
             {
                 if (value == null)
                 {
                     return false;
                 }

                 if (parameter != null)
                 {
                     switch (parameter.ToString())
                     {
                         case "Enabled":
                             return ((int)value == 0) ? Visibility.Collapsed : Visibility.Visible;
                         case "Disabled":
                             return ((int)value == 1) ? Visibility.Collapsed : Visibility.Visible;
                         //case "Invaild":
                         //    return ((int)value == 2) ? Visibility.Collapsed : Visibility.Visible;
                     }
                 }

                 return false;
             }

             public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
             {
                 throw new NotImplementedException();
             }

             #endregion
     }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值