que tienen esta función auxiliar estática:¿Cómo puedo probar la unidad de algo que utiliza VisualTreeHelper?
public static DependencyObject GetParentObject(DependencyObject child)
{
if (child == null) return null;
ContentElement contentElement = child as ContentElement;
if (contentElement != null)
{
var parent = ContentOperations.GetParent(contentElement);
if (parent != null) return parent;
var fce = contentElement as FrameworkContentElement;
return fce != null ? fce.Parent : null;
}
//if it's not a ContentElement, rely on VisualTreeHelper
return VisualTreeHelper.GetParent(child);
}
Funciona en una aplicación real, pero estoy tratando de escribir algunas pruebas unitarias para ello. Aquí está mi primer intento:
[Test]
public void GetParentObject_returns_immediate_parent()
{
var contentControl = new ContentControl();
var textBox = new TextBox();
contentControl.BeginInit();
contentControl.Content = textBox;
contentControl.EndInit();
var result = UIHelper.GetParentObject(textBox);
Assert.AreSame(contentControl, result);
}
Desafortunadamente falla porque VisualTreeHelper
está volviendo nula. ¿Cómo puedo simular un árbol visual que funcionará?
yo echo 'pageContent' a' IAddChild' y realiza la operación directamente, en lugar de confiar en el 'ToMaybeOf' y' Do': '((IAddChild) PageContent) .AddChild (FixedPage);' –