gpt4 book ai didi

银光 4 : how to switch control visibility

转载 作者:行者123 更新时间:2023-12-03 09:56:08 25 4
gpt4 key购买 nike

我在 Silverlight 应用程序中使用 MVVM。当需要通过数据管理控件可见性时,我将其“可见性”属性连接到对象的相应属性:

XAML:

<TextBlock Text="Price" Visibility="{Binding PriceVisibility, Mode=OneWay}"/>
<TextBox Text="{Binding TicketPrice, Mode=TwoWay}" Visibility="{Binding PriceVisibility, Mode=OneWay}"/>

代码隐藏(C#):
public string PriceVisibility { get { return PriceVisible ? "Visible" : "Collapsed"; } }

但从我的角度来看,返回 Visibility 属性的字符串表示并不是最好的方法。

请问各位有没有更好的办法?

谢谢!

最佳答案

我只是使用 Reflector 来检查 PresentationFramework.dll 中的类型转换器

已经有一个可以在 bool 值和可见性之间转换的实现。您应该能够在您的 Silverlight 应用程序中使用它。

public sealed class BooleanToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
bool flag = false;
if (value is bool)
{
flag = (bool) value;
}
else if (value is bool?)
{
bool? nullable = (bool?) value;
flag = nullable.HasValue ? nullable.Value : false;
}
return (flag ? Visibility.Visible : Visibility.Collapsed);
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return ((value is Visibility) && (((Visibility) value) == Visibility.Visible));
}
}

关于银光 4 : how to switch control visibility,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3655210/

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