我在类中包含UserControl
当满足某些条件时,我初始化UserControl
并将其添加到Grid
中,根据位置设置行和列属性列表中的类。当我改变那个位置时,我需要更新Grid上元素的位置,但是因为不是每个类都初始化并添加了UserControl
,所以我需要检查我在{{1}中订购元素的时间}。
要检查Grid
是否已初始化,请检查它是否为空
UserControl
如何检查classElement.userControl == null
是否已添加到UserControl
?
答案 0 :(得分:1)
实现您的要求的最简单方法可能是让您使用Grid
属性简单地遍历Children
的子项,依次检查每个子项。你可以这样做:
<Grid Name="YourGrid">
...
</Grid>
...
foreach (UIElement uiElement in YourGrid.Children)
{
if (uiElement.GetType() == typeof(UserControl))
{
if (uiElement != null)
{
// Do something with your control here
}
}
}
更新&gt;&gt;&gt;
我不明白你的评论...你说我需要一种方法来了解用户控件是否在网格中 ...这正是我提供给你的。如果您要将UserControl
添加到Grid
,那么您必须引用Grid
。如果您有Grid
的引用,那么您可以像我向您展示的那样迭代已添加到Grid
的控件。如果您要从UserControl
代码中添加UserControl
,那么您可以执行此操作:
foreach (UIElement uiElement in YourGrid.Children)
{
if (uiElement.GetType() == typeof(UserControl))
{
if (uiElement != null)
{
if (uiElement == this)
{
// this UserControl is in the Grid
}
}
}
}
如果这不能解决您的问题,那么请花时间提供一个体面的问题描述,以便我建议修复它。根据我目前的理解,这个是你的修复。