在点击事件中引用 WP7 边框元素



我有一个使用必应地图的 WP7 应用程序,我有多个位置的图钉。 点击图钉时,我有一个点击事件,显示带有一些文本的边框。 为了隐藏文本,我正在为地图控件使用 tap 事件,该事件将边框可见性设置为折叠:

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(至少我是这样理解的)。 如何为边框元素制作样式并仍将其作为元素引用?

我想

向你推荐这种方法,这也可能对你完成其他一些任务也有帮助。

使用类型 borderlist,并将所有border元素添加到其中。现在,每当你想要操作所有元素时,你都可以有一个foreach循环并访问你想要的任何属性,例如item.Visibility你可以根据需要操作它。这甚至可以帮助您对它们进行分类,以便您可以操纵任何特定的边框。

最新更新