0

我有一个简单GridImage命名 TestImage ,我需要将该 Grid 实例传递给其他类。另一个类会找到 TestImage 并且它会改变Source

当我尝试Grid从 XAML 的代码隐藏访问时,它是可以的,但是当我尝试将实例传递Grid给其他类时,我无法访问那里的 TestImage。

测试页.xaml.cs

var otherClass = new OtherClass();
otherClass.DoSomeStuff(this.GridName);

其他类.cs

public void DomeSomeStuff(Grid gridInstance)
{
    gridInstance.TestImage.Source = ....;
}

我会收到错误消息:

“Windows.UI.Xaml.Controls.Grid”不包含“TestImage”的定义,并且找不到接受“Windows.UI.Xaml.Controls.Grid”类型的第一个参数的扩展方法“TestImage”

我理解这个错误,但我不知道如何解决它。

你能帮我吗?谢谢你。

4

1 回答 1

1

试试这个:

public void DomeSomeStuff(Grid gridInstance)
{
    var image = VisualTreeHelper.GetChild(gridInstance, 0) as Image;
    // or var image = gridInstance.Children[0] as Image;
    // or var image = gridInstance.FindName("TestImage") as Image;
    if (image != null)
        image.Source = ...;
}
于 2012-10-18T08:39:10.440 回答