C# 设置Listview列元素可见性
所以我的问题是。我有一个不同行的列表视图。在一行中,我有一个按钮,用于对该行中的数据执行特定的过程。 问题是,根据同一行中的数据,此按钮不应可见。 即,行数据可能类似于: 姓名、年龄、地址、身份证号码、已申请(按钮) 在这种情况下,如果应用的布尔值为真,则按钮不应出现。 我曾尝试使用布尔值到可见性转换器,但似乎无法使其工作 任何想法都将不胜感激C# 设置Listview列元素可见性,c#,wpf,mvvm,C#,Wpf,Mvvm,所以我的问题是。我有一个不同行的列表视图。在一行中,我有一个按钮,用于对该行中的数据执行特定的过程。 问题是,根据同一行中的数据,此按钮不应可见。 即,行数据可能类似于: 姓名、年龄、地址、身份证号码、已申请(按钮) 在这种情况下,如果应用的布尔值为真,则按钮不应出现。 我曾尝试使用布尔值到可见性转换器,但似乎无法使其工作 任何想法都将不胜感激 干杯BooleanToVisibilityConverter将true转换为visible,您需要一个执行相反操作的转换程序: [ValueConver
干杯BooleanToVisibilityConverter将true转换为visible,您需要一个执行相反操作的转换程序:
[ValueConversion(typeof(bool), typeof(Visibility))]
public class BoolToOppositeVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var boolValue = value as bool?;
return boolValue.HasValue && boolValue.Value
? Visibility.Collapsed
: Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}
另一个选项是使用ViewModel并在IsApplyEnabled之类的属性中进行转换。错误时,隐藏按钮。或者可以将按钮绑定到带有CanExecute覆盖的RelayCommand。这将自动禁用该按钮。您还可以覆盖模板,使按钮在禁用时隐藏自身。剥猫皮的方法很多。是的。我现在正在开发UI。一旦我加入viewmodels,我想这就是我要走的路线。尽管如此,我还是要使用mvvm属性。我在另一个实现中使用了转换器。干杯