繁体   English   中英

WPF:在资源中查找控件

[英]WPF : Finding a control in a resource

我想获得资源控制权。 但这对我来说很难。

资源(xaml)

<Span x:Key="spanParagrahTitle" x:Shared="false">
    <InlineUIContainer BaselineAlignment="Center">
        <dgWPFCtrl:IconButton x:Name="ibtnAddToFavorite" Cursor="Hand" IsPressible="True"/>
    <InlineUIContainer BaselineAlignment="Center">
</Span>

代码

Span myTitle = (Span)appRes["spanParagrahTitle"];
IconButton ibtnAddToFavorite = (IconButton)myTitle.FindName("ibtnAddToFavorite");

如何在xaml中获得控制ibtnAddToFavorite? 原因,FindName失败了。 (它返回null。)

PS。 IconButton是用户控件。

一旦实例化了Span,您应该能够使用VisualTreeHelper向下钻取可视树并转到IconButton。

从您提供的代码中,我可以看到dgWPFCtrl:IconButton不是资源。 它是InlineUIContainer的一个孩子,后者又被称为“spanParagrahTitle”的资源的一部分

所以访问的方式是

Span myTitle = (Span)appRes["spanParagrahTitle"]; 
IconButton ibtnAddToFavorite = ((InlineUIContainer)(myTitle.Content)).Content as IconButton;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM