Pivot
контроль наследуется от ItemsControl
, но не ListViewBase
.Таким образом, он не содержит CanDragItems
CanReorderItems
свойства, вы не можете изменить их порядок как ListView
.Pivot
имеет свойство ItemsSource
, это означает, что вы можете связать с ObservableCollection
.и переупорядочить его с переупорядочением источника данных.
<Pivot
x:Name="PivotMain"
Margin="0,0,0,0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
AllowDrop="True"
BorderBrush="Black"
FontFamily="Segoe UI"
>
<Pivot.ItemTemplate>
<DataTemplate>
<PivotItem
CanDrag="True"
FontFamily="Segoe UI"
FontSize="11"
Header="{Binding}"
>
<Frame />
</PivotItem>
</DataTemplate>
</Pivot.ItemTemplate>
<Pivot.HeaderTemplate>
<DataTemplate>
<Grid Margin="0,0,0,0">
<TextBlock
Margin="0,0,0,0"
FontSize="13"
Text="{Binding}"
/>
</Grid>
</DataTemplate>
</Pivot.HeaderTemplate>
</Pivot>
Код позади
ObservableCollection<string> Items;
public MainPage()
{
Items = new ObservableCollection<string>() { "first", "second", "third", "forth" };
PivotMain.ItemsSource = Items;
this.InitializeComponent();
}
Переупорядочить
var _timer = new Timer(async _ =>
{
Random r = new Random();
var randomIndex = r.Next(0, Items.Count - 1);
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {
Items.Insert(4, Items[randomIndex]);
Items.RemoveAt(randomIndex);
});
}
, null, 0, 1000);