首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用c#在Flipview中动态更改Flipview

如何使用c#在Flipview中动态更改Flipview
EN

Stack Overflow用户
提问于 2016-11-04 14:13:54
回答 1查看 109关注 0票数 0

我正在使用Windows phone 8.1索引应用程序,并尝试使用winRT属性从代码后台加载索引,但它不适合我如何从c#中滑动FilpviewItem

下面是我的代码,它不能工作

代码语言:javascript
复制
 <FlipView x:Name="flip" Grid.Row="1" Grid.ColumnSpan="4" Grid.Column="0" Margin="0,0,0,0.333" Grid.RowSpan="2">
        <FlipViewItem>
                <Button Foreground="White" Background="Black" x:Name="btnAdd" Content="Add" Grid.Row="1" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" Tapped="btnAdd_Tapped" ></Button>
        </FlipViewItem>
        <FlipViewItem>
            <Button x:Name="btny2" Content="mov" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" Tapped="btny2_Tapped" ></Button>
        </FlipViewItem>
        <FlipViewItem>
            <Button x:Name="btnUpdate" Content="Upd" Grid.Row="1" Grid.Column="2" HorizontalAlignment="Right" Tapped="btnupdate_Tapped" ></Button>
        </FlipViewItem>
        <FlipViewItem>
            <Button x:Name="btnRemove" Content="Rem" Grid.Row="1" Grid.Column="3" HorizontalAlignment="Center" Tapped="btnRemove_Tapped" ></Button>
        </FlipViewItem>
    </FlipView>


private void btnAdd_Tapped(object sender, TappedRoutedEventArgs e)
    {
        flip.SelectedIndex++;

    }

    private void btnupdate_Tapped(object sender, TappedRoutedEventArgs e)
    {
        flip.SelectedIndex++;
    }

    private void btny2_Tapped(object sender, TappedRoutedEventArgs e)
    {
        flip.SelectedIndex++;
    }

    private void btnRemove_Tapped(object sender, TappedRoutedEventArgs e)
    {
        flip.SelectedIndex++;
    }
EN

回答 1

Stack Overflow用户

发布于 2016-11-22 19:08:22

有趣的是,当我将您的代码复制粘贴到我的系统上时,它运行得非常好。但是,您可以使用数据绑定以一种更简洁的方式实现这一点。

如何使用数据绑定完成此操作:

例如,

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

private int flipSelectedIndex = 0;public int FlipSelectedIndex { get { return flipSelectedIndex;} set { if (value <= flip.Items.Count - 1) { flipSelectedIndex = value;RaisePropertyChanged("FlipSelectedIndex");}

  • 添加INotifyPropertyChanged接口并隐式实现它,然后向其添加一个名为RaisePropertyChanged的事件。通过将,INotifyPropertyChanged接口添加到ClassName : Page声明并添加以下方法来执行此操作:

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

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

现在完成了,这很简单:只需按一下按钮,就可以使用FlipSelectedIndex++;FlipSelectedIndex--;作为XAML,并将Flipview的SelectedIndex属性添加到数据绑定中,如下所示:SelectedIndex="{Binding FlipSelectedIndex,Mode=TwoWay}"使用双向绑定来确保如果您从滑动操作而不是按钮更改Flipview上的选定视图,FlipSelectedIndex也会更新。

请记住使用DataContext="{Binding RelativeSource={RelativeSource Self}}"将页面的数据上下文添加到后台代码中,否则绑定将无法工作。有关更多信息,请参阅我在FlipView here上的回答

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40416402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档