我正在使用Xamarin.forms创建应用程序。
我设置整数的BindableProperty。 但它的setter从未被调用过,甚至没有从xaml设置。
<... SelectedIndex="{Binding myValue}">
我做错了什么?
感谢。
public class CircleSegmentControl : StackLayout
{
public static readonly BindableProperty SegmentInitialIndexProperty = BindableProperty.Create("SelectedIndex", typeof(int), typeof(CircleSegmentControl), 0);
public int SelectedIndex {
set{
Debug.WriteLine("setter");
SetValue(SegmentInitialIndexProperty, value);
SelectIndex(value);
}
get{
Debug.WriteLine("getter");
return (int)GetValue(SegmentInitialIndexProperty);
}
}
...
}
答案 0 :(得分:2)
显然,同样适用于WPF依赖项属性。您不得在属性包装器的GetValue
和SetValue
方法中调用get
和set
以外的任何内容:
public int SelectedIndex
{
get { return (int)GetValue(SelectedIndexProperty); }
set { SetValue(SelectedIndexProperty, value); }
}
要获得有关房产价值更改的通知(要调用SelectIndex
方法),您应该向propertyChanged
代表注册另一个BindableProperty.Create
重载。