我能够将实体中的属性绑定到列表视图内容页面元素,如下所示,
highlightGrid.SetBinding(IsVisibleProperty, "IsPaymentPlanEnding");
但是我想知道如何将这个"IsPaymentPlanEnding“属性值绑定到一个变量。尝试使用下面的代码,但它抛出了编译错误。
bool IsPaymentPlanEnding = BindingContext.GetBindingValue("IsPaymentPlanEnding");
请告诉我如何将实体属性值绑定到变量。
发布于 2021-01-29 18:32:08
您可以将绑定存储在变量中,如下所示:
BindingBase paymentPlanEndingBinding = new Binding("IsPaymentPlanEnding");
然后在进行实际绑定时引用它:
highlightGrid.SetBinding(IsVisibleProperty, paymentPlanEndingBinding);
为此,我编写了一个简单的单元测试:
[Test]
public void BindingBase_test()
{
MockForms.Init();
BindingBase binding = new Binding("Value");
var pickerItem = new PickerSearchItem {Value = "the_value"};
var label = new Label {BindingContext = pickerItem};
label.SetBinding(Label.TextProperty, binding);
label.Text.ShouldBe("the_value");
}
发布于 2018-10-02 21:38:40
您的BindingContext需要实现INotifyPropertyChanged。BindingContext应该包含一个名为IsPaymentPlanEnding的属性(类型为bool)。然后,您只需保留该行的原样:highlightGrid.SetBinding(IsVisibleProperty, "IsPaymentPlanEnding");
了解Bindings
https://stackoverflow.com/questions/52609422
复制相似问题