我有简单Grid
Image
名为TestImage,我需要将该Grid实例传递给其他类。另一个类将找到TestImage,它将更改Source
。
当我尝试从XAML的代码隐藏中访问Grid
时没关系,但是当我尝试将Grid
的实例传递给其他类时,我无法访问那里的TestImage。
TestPage.xaml.cs
var otherClass = new OtherClass();
otherClass.DoSomeStuff(this.GridName);
OtherClass.cs
public void DomeSomeStuff(Grid gridInstance)
{
gridInstance.TestImage.Source = ....;
}
我会收到错误消息:
'Windows.UI.Xaml.Controls.Grid'不包含的定义 'TestImage'并没有扩展方法'TestImage'接受第一个 可以找到“Windows.UI.Xaml.Controls.Grid”类型的参数
我理解这个错误,但我不知道,如何修复它。
你能帮帮我吗? 谢谢。答案 0 :(得分: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 = ...;
}