我提前道歉,這個人是很難解釋。如何停止AppBar在打開時捕獲觸摸活動?
我有一個GridView全是可選擇拼貼的。當進行選擇時,通過將IsOpen和IsSticky設置爲true來顯示底部的AppBar。這工作正常。
然而,當AppBar第一選擇後出現,它捕獲任何觸摸活動,然後任何觸摸到AppBar之外的區域之後將其釋放,但觸摸手勢被吸收。我最終觸摸屏幕兩次以執行第二次選擇。
在Windows 8的開始屏幕,你可以選擇多個瓦片此起彼伏的無縫連接。出現的底部欄不會干擾後續的觸摸手勢。但在我的應用程序中,條形圖捕獲第一個手勢,並最終選擇第二個磁貼兩次。這會讓我的應用感覺沒有反應。
我該如何解決這個問題?在Visual Studio 2012
2)在GroupedItemsPage.xaml
1)啓動一個新的 「電網應用(XAML)」 在Windows應用商店,添加以下XAML:
複製此它:
<Page.BottomAppBar>
<AppBar>
<Button Content="X"/>
</AppBar>
</Page.BottomAppBar>
3)求GridView控件用X:名稱= 「itemGridView」,並設置其的SelectionMode = 「擴展」和IsSwipeEnabled =「TR UE」
<GridView
x:Name="itemGridView"
AutomationProperties.AutomationId="ItemGridView"
AutomationProperties.Name="Grouped Items"
Grid.RowSpan="2"
Padding="116,137,40,46"
ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}"
SelectionMode="Extended"
IsSwipeEnabled="true"
IsItemClickEnabled="True"
ItemClick="ItemView_ItemClick">
4)添加以下代碼的代碼隱藏文件:
public GroupedItemsPage()
{
this.InitializeComponent();
itemGridView.SelectionChanged += ItemGridViewOnSelectionChanged;
}
private void ItemGridViewOnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (itemGridView.SelectedItems.Count > 0)
{
this.BottomAppBar.IsOpen = true;
this.BottomAppBar.IsSticky = true;
}
else
{
this.BottomAppBar.IsSticky = false;
this.BottomAppBar.IsOpen = false;
}
}
5)運行它並觀看了第一選擇後的應用欄出現,但隨後你的第二個吸收了選擇第二個瓦片的手勢。
是否可以爲您發佈GridView和應用欄XAML?無需發佈任何一個的子元素。我希望看到您在xaml中使用的選項。另外,您可以發佈設置應用欄的IsOpen和IsSticky字段的代碼隱藏嗎? –
@chuex我加了一個例子。非常基本的使用Visual Studio的標準Grid App。 – Laith