从未从xaml(Xamarin.forms)调用整数的BindableProperty的Setter

从未从xaml(Xamarin.forms)调用整数的BindableProperty的Setter,xaml,xamarin,binding,xamarin.forms,Xaml,Xamarin,Binding,Xamarin.forms,我正在使用Xamarin.forms制作应用程序 我设置了integer的BindableProperty。 但setter从未调用过,甚至没有从xaml设置过 <... SelectedIndex="{Binding myValue}"> 显然,这与WPF依赖项属性相同。在属性包装的get和set方法中,除了调用GetValue和SetValue之外,不能调用任何其他方法: public int SelectedIndex { get { return (int)GetV

我正在使用Xamarin.forms制作应用程序

我设置了integer的BindableProperty。 但setter从未调用过,甚至没有从xaml设置过

<... SelectedIndex="{Binding myValue}">

显然,这与WPF依赖项属性相同。在属性包装的
get
set
方法中,除了调用
GetValue
SetValue
之外,不能调用任何其他方法:

public int SelectedIndex
{
    get { return (int)GetValue(SelectedIndexProperty); }
    set { SetValue(SelectedIndexProperty, value); }
}

要获得有关属性值更改的通知(调用
SelectIndex
方法),您应该使用另一个重载注册
propertyChanged
委托。

不确定Xamarin,但可能与WPF依赖属性的问题相同:在属性包装的
get
set
方法中,除了调用
GetValue
SetValue
之外,不能调用任何其他方法。要获得有关属性值更改的通知(调用
SelectIndex
方法),您应该使用另一个
BindableProperty重载注册
propertyChanged
委托。创建
@Clemens谢谢。你的答案是正确的!这是在propertyChanged委托中调用的。谢谢Clements。你的回答是对的。我面临着另一个问题。此ValueChanged委托应该是静态的,因为Bindable属性是静态的。所以我无法访问类实例。。如何解决这个问题?对不起。我想出来了。委托有一个“可绑定对象”作为参数,它是实例。
public int SelectedIndex
{
    get { return (int)GetValue(SelectedIndexProperty); }
    set { SetValue(SelectedIndexProperty, value); }
}