是否有可能创建一个startth = New Thread(AddressOf Me.MYTHREAD)
startth.SetApartmentState(ApartmentState.STA)
startth.Start()
,其中包含一个Pivot
和多个标题来创建效果,就像有多个PivotItem
但显示一个{。} >
所有透视图项目都是相同的类型,并且只有一个模板。
其中一个问题是当我的PivotItem
只包含一个项目时,枢轴变为不可滚动(不可擦除)。
我需要这样的行为来重用创建的视图并减少内存消耗。
我尝试过更改枢轴样式但没有运气。也许任何人都创造了类似的东西,可以帮助我。
答案 0 :(得分:1)
您可以创建多个PivotItem
和一个内容。最初,您的内容将位于第一个PivotItem
。然后在SelectionChanged
事件中,从之前的PivotItem
中删除您的内容(设置其内容null
)并将其添加到当前选定的内容中。
以下是一个例子:
<phone:Pivot x:Name="myPivot" Title="MYPIVOT" SelectionChanged="Pivot_SelectionChanged">
<phone:PivotItem x:Name="one" Header="one">
<Grid x:Name="content">
<!-- Place content here -->
</Grid>
</phone:PivotItem>
<phone:PivotItem x:Name="two" Header="two" />
<phone:PivotItem x:Name="three" Header="three" />
</phone:Pivot>
以及后面的代码:
PivotItem selected;
public MainPage()
{
InitializeComponent();
selected = one;
}
private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
selected.Content = null;
switch(myPivot.SelectedIndex)
{
case 0:
one.Content = content;
selected = one;
break;
case 1:
two.Content = content;
selected = two;
break;
case 2:
three.Content = content;
selected = three;
break;
}
}