我知道这是一个非常微不足道的问题,但我只花了两个小时,根本没有进展......所以这里是:在我的程序的某个地方我有:
UIElement bob = cible as UIElement;
(我必须将其转换为 UIElement 才能访问自定义属性)。
然后我想让鲍勃的孩子(它是一个按钮)来改变它的一个 xaml 属性。我找到了很多方法来做到这一点,GetChild
等等GetVisualChild
......我仍然没有成功,所以如果有人可以帮助我,那就太好了。我在 msdn 上看到了文档,并且正在学习逻辑和可视化树,但它仍然在我的脑海中......谢谢。
编辑更多信息
我想做的代码块如下:
object cible = FindName(nomtargetpad);//Retrieve a button that was clicked previously
UIElement bob = cible as UIElement;//converting it to access a custom property
MyClass.SetSon( bob, bufferson) ;//set this custom property for this element
现在,我必须找到元素的子元素(bob 或 cible),它是一个图像,并设置它的源。我在我的 MainPage 类中添加了这个(这就是 msdn 文档中的全部内容):
public static DependencyObject GetChild(
DependencyObject reference,
int childIndex);
然后我将其添加到上面的代码块中:
DependencyObject joli = GetChild(bob, 0);//tryin to use what's on msdn
Image belleimage = joli as Image;// Tryin to cast to avoid the problem listed below
string nouvelleimage = "images/"+sons[bufferson]+".png";//preparing the new source
joli.Source = nouvelleimage;//setting the new source
对不起,所有的名字都是法语,它可能对你没有任何意义(除非我猜是鲍勃)尽管进行了强制转换,VS 报告说: System.Windows.DependencyObject' 不包含源的定义。
在 xaml 中,这很容易,我有一个嵌套在按钮中的图像。