如何访问silverlight上的网格

时间:2011-11-23 20:27:04

标签: silverlight c#-4.0 silverlight-4.0

当我点击它时,我有一个名为测试按钮的按钮我想要显示一个可见性设置为0的网格

我创建了一个鼠标按钮事件(如下所示)但我的Grid(testGrid)在项目中不可用。

private void testButton(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {       
           testGrid.Opacity = 1;                                                                              
        }

它突出显示testGrid红色

SL新手,所以不确定这里发生了什么

**编辑**

网格的

    <Grid x:Name="testGrid" HorizontalAlignment="Left" Width="150" Margin="950,-77,0,0" Height="77" VerticalAlignment="Top" Opacity="0">

    </Grid> 



<Image x:Name="testButton" HorizontalAlignment="Right" Margin="0,1,180,3"  Stretch="Fill" Width="53" Height="49"  Cursor="Hand" Opacity="0.8" >

2 个答案:

答案 0 :(得分:2)

您的网格可能无法在.cs文件中访问的原因是您更改了.cs文件中的类名,而不是更改.xaml文件顶部的Xaml指令。

如果这两个不匹配,visual studio将无法链接这两个文件,因此您将无法在后面的代码中看到网格控件。

要考虑您的代码的其他项目:

虽然Opacity会替代我使用的替代方案是:

这将显示网格。

testGrid.Visibility = Visibility.Visible;

这会隐藏网格。

testGrid.Visibility = Visibility.Collapsed;

此外,您的“按钮”是图片标签,而不是按钮。它是与您尝试调用的方法同名的图像。您需要更改图像以允许点击事件或将其更改为按钮,例如

<Button Click="TestBUtton" Text="MyButton" />

我会直接在Xaml中输入它,这样当你输入click事件处理程序时,它会自动为你背后的代码生成方法。

答案 1 :(得分:1)

试试这个: 在XAML上

<Grid x:Name="testGrid" HorizontalAlignment="Left" Width="150" Margin="950,-77,0,0" Height="77" VerticalAlignment="Top" Opacity="0">
</Grid>
<Image x:Name="testButton" HorizontalAlignment="Right" Margin="0,1,180,3"  Stretch="Fill" Width="53" Height="49"  Cursor="Hand" Opacity="0.8" MouseLeftButtonDown="testButton" />

在cs上

private void testButton(object sender, System.Windows.Input.MouseButtonEventArgs e){       
       testGrid.Visibility = Visibility.Visible;
}