You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中根据数值隐藏单选按钮?

解决根据数值隐藏单选按钮的问题

你的后台代码写法有误——在WPF/UWP这类XAML框架里,控件的Visibility属性是**Visibility枚举类型**,不能直接赋值布尔值false或者字符串"Hidden",这就是代码不生效的原因。

直接操作控件的正确写法

先确认代码里引用了对应的命名空间(一般项目默认已引用),然后使用枚举值赋值:

if(ArbeitsplatzId == 400)
{
    // 隐藏控件但保留原布局空间
    RbAmWartung.Visibility = System.Windows.Visibility.Hidden;
    // 若希望控件完全不占布局空间,改用下面这句
    // RbAmWartung.Visibility = System.Windows.Visibility.Collapsed;
}

Hidden和Collapsed的区别:前者只是让控件不可见,布局里仍会留着它的位置;后者会让控件彻底从布局中消失,不占用任何空间,按需选择即可。

更优雅的MVVM绑定方式(推荐)

如果你的项目用了MVVM模式,建议用数据绑定+转换器的方式实现,不用直接操作控件实例,更符合架构设计:

  1. 先定义一个转换器类,把数值转换成对应的Visibility枚举:
public class IdToVisibilityConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (value is int id && id == 400)
        {
            return Visibility.Hidden;
        }
        return Visibility.Visible;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}
  1. 在XAML里引用这个转换器,把单选按钮的Visibility绑定到你的数值属性:
<Window.Resources>
    <local:IdToVisibilityConverter x:Key="IdToVisibilityConverter"/>
</Window.Resources>

<RadioButton x:Name="RbAmWartung" 
             Visibility="{Binding ArbeitsplatzId, Converter={StaticResource IdToVisibilityConverter}}"/>

内容的提问来源于stack exchange,提问作者user20202784

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 00:52:02