NodeChangingArgs
Contenido
[
Ocultar
]NodeChangingArgs class
Proporciona datos para los métodos de laINodeChangingCallback
interfaz.
Para obtener más información, visite elModelo de objetos de documento (DOM) de Aspose.Words Artículo de documentación.
public class NodeChangingArgs
Propiedades
Nombre | Descripción |
---|---|
Action { get; } | Obtiene un valor que indica qué tipo de evento de cambio de nodo está ocurriendo. |
NewParent { get; } | Obtiene el padre del nodo que se establecerá después de que se complete la operación. |
Node { get; } | Obtiene elNode que se está agregando o eliminando. |
OldParent { get; } | Obtiene el padre del nodo antes de que comenzara la operación. |
Ejemplos
Muestra cómo personalizar el cambio de nodo con una devolución de llamada.
public void FontChangeViaCallback()
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Establezca la devolución de llamada de cambio de nodo en una implementación personalizada,
// luego agrega/elimina nodos para generar un registro.
HandleNodeChangingFontChanger callback = new HandleNodeChangingFontChanger();
doc.NodeChangingCallback = callback;
builder.Writeln("Hello world!");
builder.Writeln("Hello again!");
builder.InsertField(" HYPERLINK \"https://www.google.com/\" ");
builder.InsertShape(ShapeType.Rectangle, 300, 300);
doc.Range.Fields[0].Remove();
Console.WriteLine(callback.GetLog());
}
/// <summary>
/// Registra la fecha y hora de la inserción y eliminación de cada nodo.
/// Establece un nombre y tamaño de fuente personalizado para el contenido de texto de los nodos Ejecutar.
/// </summary>
public class HandleNodeChangingFontChanger : INodeChangingCallback
{
void INodeChangingCallback.NodeInserted(NodeChangingArgs args)
{
mLog.AppendLine($"\tType:\t{args.Node.NodeType}");
mLog.AppendLine($"\tHash:\t{args.Node.GetHashCode()}");
if (args.Node.NodeType == NodeType.Run)
{
Aspose.Words.Font font = ((Run)args.Node).Font;
mLog.Append($"\tFont:\tChanged from \"{font.Name}\" {font.Size}pt");
font.Size = 24;
font.Name = "Arial";
mLog.AppendLine($" to \"{font.Name}\" {font.Size}pt");
mLog.AppendLine($"\tContents:\n\t\t\"{args.Node.GetText()}\"");
}
}
void INodeChangingCallback.NodeInserting(NodeChangingArgs args)
{
mLog.AppendLine($"\n{DateTime.Now:dd/MM/yyyy HH:mm:ss:fff}\tNode insertion:");
}
void INodeChangingCallback.NodeRemoved(NodeChangingArgs args)
{
mLog.AppendLine($"\tType:\t{args.Node.NodeType}");
mLog.AppendLine($"\tHash code:\t{args.Node.GetHashCode()}");
}
void INodeChangingCallback.NodeRemoving(NodeChangingArgs args)
{
mLog.AppendLine($"\n{DateTime.Now:dd/MM/yyyy HH:mm:ss:fff}\tNode removal:");
}
public string GetLog()
{
return mLog.ToString();
}
private readonly StringBuilder mLog = new StringBuilder();
}
Ver también
- espacio de nombres Aspose.Words
- asamblea Aspose.Words