从未从xaml(Xamarin.forms)调用整数的BindableProperty的Setter
我正在使用Xamarin.forms制作应用程序 我设置了integer的BindableProperty。 但setter从未调用过,甚至没有从xaml设置过从未从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
<... 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); }
}