WPF中Xaml绑定类中静态属性
可以在View中引用类的命令空间
xmlns:models="clr-namespace:Module.Main.Models",然后在Xaml中使用如下绑定方式
Binding IsShowText,Source={x:Static models:CurrentUser.Instance}
Xaml:
<TextBlock Margin="33,0,0,0"
Text="欢迎登录,"
FontSize="16"
Foreground="#343434"
VerticalAlignment="Center"
Visibility="{Binding IsShowText,Source={x:Static models:CurrentUser.Instance},Converter={StaticResource BooleanToVisibilityConverter}}" />
Class:
namespace Module.Main.Models
{
/// <summary>
/// CurrentUser
/// </summary>
public class CurrentUser : BindableBase
{
private static CurrentUser _instance;
private static readonly object ObjLock = new object();
/// <summary>
/// 是否显示文本
/// </summary>
private bool _isShowText = false;
private CurrentUser()
{
}
public static CurrentUser Instance
{
get
{
if (_instance != null) return _instance;
lock (ObjLock)
{
_instance ??= new CurrentUser();
}
return _instance;
}
}
/// <summary>
/// 是否显示文本
/// </summary>
public bool IsShowText
{
get => _isShowText;
set=> SetProperty(ref _isShowText, value);
}
}
}