我希望有一個Pivot控件具有PivotItems,但在橫向上沒有透視項目標題文本(它是橫向模式下的圖庫,當它恢復爲縱向時,它應該再次顯示PivotItems標題)。如何隱藏PivotItem標題?
使文本PivotItem.Header = ""
的解決方案不好,因爲標題文本佔用的空間仍然保留(所以存在未使用的空白空間)。
我該怎麼做?
我希望有一個Pivot控件具有PivotItems,但在橫向上沒有透視項目標題文本(它是橫向模式下的圖庫,當它恢復爲縱向時,它應該再次顯示PivotItems標題)。如何隱藏PivotItem標題?
使文本PivotItem.Header = ""
的解決方案不好,因爲標題文本佔用的空間仍然保留(所以存在未使用的空白空間)。
我該怎麼做?
您可以設置樞紐項目的頂部Margin
爲負值,將它們移動起來:
<controls:PivotItem Header="item1" Margin="0,-100,0,0">
它不刪除頭,但你的庫項目將在它的上面,因此有更多的空間可用。將此與您清除字幕的想法相結合,您就可以擁有解決方案。
一個更優雅的解決方案:只重寫與非都看得到的deafult HeaderTemplate中(但沒有崩潰)的DataTemplate:
<controls:Pivot.HeaderTemplate>
<DataTemplate>
<StackPanel Height="0" Width="0">
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
</controls:Pivot.HeaderTemplate>
這是Pivot.Header的解決方案,它不適用於PivotItem.Header – lisp
你可以先保存所有pivotitem的頭,那麼所有的pivotitems'標題設置爲空字符串,之後,所有的樞軸頭區域將消失。您可以使用保存的標題信息來恢復它們。
private void ResotorePivotItemHeaders()
{
if (_pivotItemHeaders.Count == pivot.Items.Count)
{
for (int i = 0; i < _pivotItemHeaders.Count; i++)
(pivot.Items[i] as PivotItem).Header = _pivotItemHeaders[i];
}
}
private void HidePivotItemHeaders()
{
if (pivot.Items.Count == 0)
return;
_pivotItemHeaders.Clear();
for (int i = 0; i<pivot.Items.Count; i++)
{
PivotItem item = pivot.Items[i] as PivotItem;
_pivotItemHeaders.Add(item.Header as String);
item.Header = "";
}
}
List<String> _pivotItemHeaders = new List<string>();
設置HeaderTemplate。 http://stackoverflow.com/questions/4239071/wp7-pivotcontrol-set-header-null – invalidusername