我有一个UserControl
named AddressTemplate
,其中包含 aStackPanel
和各种Labels
& Textboxes
。我需要的是一种在AddressTemplate
. 本质上,我需要一种方法来确定给定Textbox
是否在内部AddressTemplate
,或者在外部UserControl
,并且只是一个独立的控件。
到目前为止,我想出的是:
private bool FindParent(Control target)
{
Control currentParent = new Control();
if (currentParent.GetType() == typeof(Window))
{
}
else if (currentParent.GetType() != typeof(AddressTemplate) && currentParent.GetType() != null)
{
currentParent = (Control)target.Parent;
}
else
{
return true;
}
return false;
}
问题是,我不断收到 InvalidCastException,因为它无法将 StackPanel 转换为控件。有谁知道正确的演员阵容,或者解决这个问题的可行方法?