我正在使用Windows phone 8.1索引应用程序,并尝试使用winRT属性从代码后台加载索引,但它不适合我如何从c#中滑动FilpviewItem
下面是我的代码,它不能工作
<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++;
}发布于 2016-11-22 19:08:22
有趣的是,当我将您的代码复制粘贴到我的系统上时,它运行得非常好。但是,您可以使用数据绑定以一种更简洁的方式实现这一点。
如何使用数据绑定完成此操作:
例如,
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上的回答
https://stackoverflow.com/questions/40416402
复制相似问题