如何使用c#动态地从Flipview更改Flipviewitem

时间:2016-11-04 06:13:54

标签: windows-phone-8.1

我正在使用Windows Phone 8.1 winRT应用程序并尝试使用索引属性从代码后面加载FilpviewItem但是它对我来说不起作用我们如何从c#中滑动flipviewitem

以下是我的代码无效

TextBox

1 个答案:

答案 0 :(得分:0)

这里有趣的是,当我将代码粘贴到我的系统上时,你的代码运行得非常好。但是,您可以使用数据绑定以更清洁的方式实现此目的。

如何使用数据绑定:

  1. 创建一个名为FlipSelectedIndex的属性。

    private int flipSelectedIndex = 0;
    
    public int FlipSelectedIndex
    {
        get { return flipSelectedIndex; }
        set
        {
            if (value <= flip.Items.Count - 1)
            {
                flipSelectedIndex = value;
                RaisePropertyChanged("FlipSelectedIndex");
            }
        }
    }
    
  2. 添加INotifyPropertyChanged接口并隐式实现它,然后向其中添加一个名为RaisePropertyChanged的事件,通过向,INotifyPropertyChanged声明添加ClassName : Page接口来执行此操作添加以下方法:

    public event PropertyChangedEventHandler PropertyChanged;
    public void RaisePropertyChanged(string property)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(property));
    }
    

    请注意:PropertyChanged?.Invoke(this,new PropertyChangedEventArgs(propertyName));仅适用于Visual Studio 2015中提供的C#6.0。对于任何版本,您都必须使用

    if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); }

  3. 现在完成后很简单:只需按一下按钮,只需根据需要使用FlipSelectedIndex++;FlipSelectedIndex--;

  4. 通过将Flipview的SelectedIndex属性添加到数据绑定来更新XAML,如下所示:SelectedIndex="{Binding FlipSelectedIndex,Mode=TwoWay}"使用双向绑定以确保如果更改Flipview上的选定视图,则FlipSelectedIndex也会更新滑动操作而不是按钮。
  5. 请务必记住使用DataContext="{Binding RelativeSource={RelativeSource Self}}"将页面的数据上下文添加到后面的代码中。否则绑定将不起作用。 有关详细信息,请参阅FlipView here

    上的答案