2013-12-19 16 views
0

我有一個WP7應用程序使用bing地圖,並且我有多個位置的圖釘。在點擊圖釘時,我有一個點擊事件,顯示一些文字的邊框。爲了隱藏我使用的地圖控制敲擊事件,設置邊框能見度倒塌文本:在tap事件中引用WP7邊框元素

private void map_Tap(object sender, GestureEventArgs e) 
    { 

     this.border.Visibility = Visibility.Collapsed; 
    } 

現在,如果我要使用多個邊框和文字,我將不得不多次設置可見度,如下所示:

this.border.Visibility = Visibility.Collapsed; 
this.border2.Visibility = Visibility.Collapsed; 
this.border3.Visibility = Visibility.Collapsed; 

所以我創建了一個邊框資源來引用一個邊框。

<phone:PhoneApplicationPage.Resources> 
<Style x:Key="BorderStyle" x:Name="border" TargetType="Border" > 
     <Setter Property="Background" Value="Black" />  
    </Style> 
</phone:PhoneApplicationPage.Resources> 

我在圖釘設置資源

<my:Pushpin.Content> 
       <Border Style="{StaticResource BorderStyle}" > 

可是現在,我指的是邊界在map_Tap事件中,我得到一個System.Windows.Style不包含「能見度的定義'因爲邊界沒有被長時間引用爲UIElement(至少這就是我對此的理解)。如何爲邊界元素創建樣式並仍將其作爲元素引用?

+0

嘗試刪除邊框樣式的x:name屬性。 –

+0

剛剛嘗試過..它沒有什麼區別。 – KFP

回答

0

我想向你推薦這種方法,這也可以幫助你完成其他一些任務。

您使用的類型border並將所有border元素添加到它。現在,只要你想操縱所有的元素,你可以有一個foreach循環,並訪問任何屬性,你會喜歡示例item.Visibility,你可以隨心所欲地操作它。這甚至可以幫助你對它們進行分類,以便你可以操縱任何特定的邊界。