本文整理汇总了C#中System.Windows.Media.Visual.InternalGet2DOr3DVisualChild方法的典型用法代码示例。如果您正苦于以下问题:C# Visual.InternalGet2DOr3DVisualChild方法的具体用法?C# Visual.InternalGet2DOr3DVisualChild怎么用?C# Visual.InternalGet2DOr3DVisualChild使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Media.Visual
的用法示例。
在下文中一共展示了Visual.InternalGet2DOr3DVisualChild方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InvalidateForceInheritPropertyOnChildren
// This is called from the force-inherit property changed events.
internal static void InvalidateForceInheritPropertyOnChildren(Visual v, DependencyProperty property)
{
int cChildren = v.InternalVisual2DOr3DChildrenCount;
for (int iChild = 0; iChild < cChildren; iChild++)
{
DependencyObject child = v.InternalGet2DOr3DVisualChild(iChild);
Visual vChild = child as Visual;
if (vChild != null)
{
UIElement element = vChild as UIElement;
if (element != null)
{
if(property == IsVisibleProperty)
{
// For Read-Only force-inherited properties, use
// a private update method.
element.UpdateIsVisibleCache();
}
else
{
// For Read/Write force-inherited properties, use
// the standard coersion pattern.
element.CoerceValue(property);
}
}
else
{
// We have to "walk through" non-UIElement visuals.
InvalidateForceInheritPropertyOnChildren(vChild, property);
}
}
else
{
Visual3D v3DChild = child as Visual3D;
if (v3DChild != null)
{
UIElement3D element3D = v3DChild as UIElement3D;
if(element3D != null)
{
if(property == IsVisibleProperty)
{
// For Read-Only force-inherited properties, use
// a private update method.
element3D.UpdateIsVisibleCache();
}
else
{
// For Read/Write force-inherited properties, use
// the standard coersion pattern.
element3D.CoerceValue(property);
}
}
else
{
// We have to "walk through" non-UIElement visuals.
UIElement3D.InvalidateForceInheritPropertyOnChildren(v3DChild, property);
}
}
}
}
}