gpt4 book ai didi

.net - 如何在属性网格中将 bool 属性显示为"is" |“否”?

转载 作者:行者123 更新时间:2023-12-04 03:30:48 25 4
gpt4 key购买 nike

我知道我可以通过编写自定义类型描述符等来做到这一点,但是鉴于此要求是如此简单;我错过了一种简单的方法吗?

我只需要能够在BooleanConverter中将字符串设置为“true”和“false”,但是标准的BooleanConverter似乎不允许您设置自定义字符串。

最佳答案

您必须对其进行自定义。像这样:

class YesNoConverter : BooleanConverter {
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) {
if (value is bool && destinationType == typeof(string)) {
return values[(bool)value ? 1 : 0];
}
return base.ConvertTo(context, culture, value, destinationType);
}

public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) {
string txt = value as string;
if (values[0] == txt) return false;
if (values[1] == txt) return true;
return base.ConvertFrom(context, culture, value);
}

private string[] values = new string[] { "No", "Yes" };
}

用法示例:
class MyControl : Control {
[TypeConverter(typeof(YesNoConverter))]
public bool Prop { get; set; }
}

您无法从System.Globalization上获得任何其他语言的帮助。

关于.net - 如何在属性网格中将 bool 属性显示为"is" |“否”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4669439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com