我想获得资源控制权。但这对我来说很难。
1。资源(XAML)
<Span x:Key="spanParagrahTitle" x:Shared="false">
<InlineUIContainer BaselineAlignment="Center">
<dgWPFCtrl:IconButton x:Name="ibtnAddToFavorite" Cursor="Hand" IsPressible="True"/>
<InlineUIContainer BaselineAlignment="Center">
</Span>
2。代码
Span myTitle = (Span)appRes["spanParagrahTitle"];
IconButton ibtnAddToFavorite = (IconButton)myTitle.FindName("ibtnAddToFavorite");
如何在xaml中获得控制ibtnAddToFavorite? 原因,FindName失败了。 (它返回null。)
PS。 IconButton是用户控件。
答案 0 :(得分:2)
一旦实例化了Span,您应该可以使用VisualTreeHelper向下钻取可视树并转到IconButton。
答案 1 :(得分:0)
从您提供的代码中,我可以看到dgWPFCtrl:IconButton不是资源。它是InlineUIContainer的一个孩子,后者又被称为“spanParagrahTitle”资源的一部分
所以访问的方式是
Span myTitle = (Span)appRes["spanParagrahTitle"];
IconButton ibtnAddToFavorite = ((InlineUIContainer)(myTitle.Content)).Content as IconButton;