Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin Listview中的步进器未正确显示递增的值_Xamarin_Xamarin.forms - Fatal编程技术网

Xamarin Listview中的步进器未正确显示递增的值

Xamarin Listview中的步进器未正确显示递增的值,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我正在开发一个XFUI,其中有一个Listview,里面有一个步进控制。我正在使用ItemSource属性绑定ListView <ListView ItemsSource="{Binding TicketList,Mode=TwoWay}" > 绑定到ListView的集合定义为 private ObservableCollection<TicketModel> _TicketList; public ObservableCollection&l

我正在开发一个XFUI,其中有一个Listview,里面有一个步进控制。我正在使用ItemSource属性绑定ListView

<ListView ItemsSource="{Binding TicketList,Mode=TwoWay}" >
绑定到ListView的集合定义为

        private ObservableCollection<TicketModel> _TicketList;
    public ObservableCollection<TicketModel> TicketList
    {
        get { return _TicketList; }
        set { SetProperty(ref _TicketList, value); }
    }
private observedcollection\u TicketList;
公众可观察收集票证列表
{
获取{return\u TicketList;}
set{SetProperty(ref_TicketList,value);}
}

谢谢

您需要提高SelectedQuantity属性的属性更改,ObservableCollection只会使它自动响应从集合中添加和删除的项目,它对集合中的项目中的单个属性不起任何作用。此外,您对ItemsSource的双向绑定将不会产生任何效果,并且没有理由使其成为双向绑定

以下是我的代码,它对我有用:

public class MainViewModel : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    int selectedQuantity;
    public int SelectedQuantity
    {
        get
        {
            return selectedQuantity;
        }
        set
        {
            if (selectedQuantity != value)
            {
                selectedQuantity = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("SelectedQuantity"));
            }
        }
    }
} 
还有我的XAML:

  <StackLayout>
    <Entry Text="{Binding SelectedQuantity,Mode=TwoWay}"></Entry>
    <Stepper Increment="1" Maximum="10" Minimum="0"
                             Value="{Binding SelectedQuantity,Mode=TwoWay}"></Stepper>    
  </StackLayout>


您的模型是否实现了INotifyPropertyChanged?嗨,Jaison,事实上我使用的是Prism,属性使用的是SetProperty。我会在SelectedQuantity属性getter/setter中设置一个断点,确保代码得到执行,并在调试器输出中查找绑定错误。嗨,Bill,实际SelectedQuantity未实现为属性。它是TicketList中Model的子属性,ObservableCollection绑定到Listview。正如我提到的,stepper在ListView中,您可以为模型添加代码吗(至少是定义SelectedQuantity的部分)?嗨,Bill,实际上SelectedQuantity不是作为属性实现的。它是TicketList中Model的子属性,ObservableCollection绑定到Listview。就像我提到的,步进器在一个ListViewThankyouBill中,这很有效。
public class MainViewModel : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    int selectedQuantity;
    public int SelectedQuantity
    {
        get
        {
            return selectedQuantity;
        }
        set
        {
            if (selectedQuantity != value)
            {
                selectedQuantity = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("SelectedQuantity"));
            }
        }
    }
} 
  <StackLayout>
    <Entry Text="{Binding SelectedQuantity,Mode=TwoWay}"></Entry>
    <Stepper Increment="1" Maximum="10" Minimum="0"
                             Value="{Binding SelectedQuantity,Mode=TwoWay}"></Stepper>    
  </StackLayout>