我在应用程序中使用了附加属性来隐藏标签,
public class LabelExtension
{
public static readonly BindableProperty ShowTimeStampProperty =
BindableProperty.CreateAttached("ShowTimeStamp", typeof(bool), typeof(LabelExtension), false);
public static bool GetShowTimeStamp(BindableObject view)
{
return (bool)view.GetValue(ShowTimeStampProperty);
}
public static void SetShowTimeStamp(BindableObject view, bool value)
{
view.SetValue(ShowTimeStampProperty, value);
}
}
视图侧绑定是这样完成的,
<Label IsVisible="{Binding Path=extension:LabelExtension.ShowTimeStamp}"/>
但是标签仍然可见如何实现,请有人帮助我
答案 0 :(得分:0)
为什么不选择另一种更简单的方法,例如isVisible = "{Binding value}"
bool _value;
public bool value{
get { return _value; }
set
{
_value = value;
NotifyPropertyChanged();
}
}
答案 1 :(得分:0)
附加属性是一种特殊类型的可绑定属性,已定义 在一个类中但附加到其他对象,并且在XAML中可识别 作为包含类和属性名称的属性,用 一段时间。
不推荐绑定绑定属性。
附加属性可以定义propertyChanged delegate
,当属性值更改时(例如,在控件上设置该属性时),将执行该propertyChanged delegate
。根据您的情况,您可以在NotifyPropertyChanged();
中使标签可见或不可见,但是没有必要。
您可以将Huy Nguyen
用作他的答案中提到的INotifyPropertyChanged
。或者,您可以创建从import json
with open('save.json', 'w') as outfile:
json.dump({
(0, 0): 0,
(0, 1): 1,
(1, 0): 0,
(1, 1): 1,
}, outfile)
继承的模型,并在模型中绑定属性以控制标签的可见性。
引用:data-binding