Edit

Share via


Span Constructors

Definition

Initializes a new instance of the Span class.

Overloads

Span()

Initializes a new, empty instance of the Span class.

Span(Inline)

Initializes a new instance of the Span class with the specified Inline object as the initial contents.

Span(Inline, TextPointer)

Initializes a new instance of the Span class, taking a specified Inline object as the initial contents of the new Span, and a TextPointer that specifies an insertion position for the new Inline element.

Span(TextPointer, TextPointer)

Initializes a new instance of the Span class, taking two TextPointer objects that indicate the beginning and end of a selection of content that the new Span will contain.

Span()

Initializes a new, empty instance of the Span class.

public:
 Span();
public Span ();
Public Sub New ()

Applies to

Span(Inline)

Initializes a new instance of the Span class with the specified Inline object as the initial contents.

public:
 Span(System::Windows::Documents::Inline ^ childInline);
public Span (System.Windows.Documents.Inline childInline);
new System.Windows.Documents.Span : System.Windows.Documents.Inline -> System.Windows.Documents.Span
Public Sub New (childInline As Inline)

Parameters

childInline
Inline

The initial contents of the new Span.

Examples

The following example shows how to use this constructor to create a new Span that contains a Run.

// A child Inline element for the new Span element.
Run runx = new Run("The Run element derives from Inline, and is therefore" +
    "an acceptable child element for this new Span.");

// After this line executes, the new element "spanx"
// contains the specified Inline element, "runx".
Span spanx = new Span(runx);
' A child Inline element for the new Span element.
Dim runx1 As New Run("The Run element derives from Inline, and is therefore" & "an acceptable child element for this new Span.")

' After this line executes, the new element "spanx"
' contains the specified Inline element, "runx".
Dim spanx1 As New Span(runx1)

Applies to

Span(Inline, TextPointer)

Initializes a new instance of the Span class, taking a specified Inline object as the initial contents of the new Span, and a TextPointer that specifies an insertion position for the new Inline element.

public:
 Span(System::Windows::Documents::Inline ^ childInline, System::Windows::Documents::TextPointer ^ insertionPosition);
public Span (System.Windows.Documents.Inline childInline, System.Windows.Documents.TextPointer insertionPosition);
new System.Windows.Documents.Span : System.Windows.Documents.Inline * System.Windows.Documents.TextPointer -> System.Windows.Documents.Span
Public Sub New (childInline As Inline, insertionPosition As TextPointer)

Parameters

childInline
Inline

An Inline object that specifies the initial contents of the new Span. This parameter may be null, in which case no Inline is inserted.

insertionPosition
TextPointer

A TextPointer that specifies the position at which to insert the Span element after it is created, or null for no automatic insertion.

Examples

The following example shows how to use this constructor to create a new Span that contains a Run inserted at the start of a Paragraph.

// A child Inline element for the new Span element.
Run runx = new Run("The Run element derives from Inline, and is therefore" +
    "an acceptable child element for this new Span.");

// An empty paragraph will serve as the container for the new Span element.
Paragraph parx = new Paragraph();

// After this line executes, the new element "spanx"
// contains the specified Inline element, "runx".  Also, "spanx" is
// inserted at the point indicated by the insertionPosition parameter, 
// which in this case indicates the content start position in the Paragraph 
// element "parx".
Span spanx = new Span(runx, parx.ContentStart);
' A child Inline element for the new Span element.
Dim runx2 As New Run("The Run element derives from Inline, and is therefore" & "an acceptable child element for this new Span.")

' An empty paragraph will serve as the container for the new Span element.
Dim parx2 As New Paragraph()

' After this line executes, the new element "spanx"
' contains the specified Inline element, "runx".  Also, "spanx" is
' inserted at the point indicated by the insertionPosition parameter, 
' which in this case indicates the content start position in the Paragraph 
' element "parx".
Dim spanx2 As New Span(runx2, parx2.ContentStart)

Applies to

Span(TextPointer, TextPointer)

Initializes a new instance of the Span class, taking two TextPointer objects that indicate the beginning and end of a selection of content that the new Span will contain.

public:
 Span(System::Windows::Documents::TextPointer ^ start, System::Windows::Documents::TextPointer ^ end);
public Span (System.Windows.Documents.TextPointer start, System.Windows.Documents.TextPointer end);
new System.Windows.Documents.Span : System.Windows.Documents.TextPointer * System.Windows.Documents.TextPointer -> System.Windows.Documents.Span
Public Sub New (start As TextPointer, end As TextPointer)

Parameters

start
TextPointer

A TextPointer that indicates the beginning of a selection of content that the new Span will contain.

end
TextPointer

A TextPointer that indicates the end of a selection of content that the new Span will contain.

Exceptions

Raised when start or end is null.

Raised when start and end do not resolve to a range of content suitable for enclosure by a Span element; for example, if start and end indicate positions in different paragraphs.

Examples

The following example shows how to use this constructor to create a new Span that is applied to a range of content. The range of content is determined by the start and end TextPointer objects specified by the constructor.

// Create a paragraph and three text runs to serve as example content.  
Paragraph parx = new Paragraph();
Run run1 = new Run("Text run 1.");
Run run2 = new Run("Text run 2.");
Run run3 = new Run("Text run 3.");

// Add the three text runs to the paragraph, separated by linebreaks.
parx.Inlines.Add(run1);
parx.Inlines.Add(new LineBreak());
parx.Inlines.Add(run2);
parx.Inlines.Add(new LineBreak());
parx.Inlines.Add(run3);

// After this line executes, the selection of content
// indicated by the "start" and "end" parameters will be
// enclosed by the new Span.  In this case, the new Span
// will enclose the entire contents of the Paragraph "parx",
// which happens to contain three text runs and two linebreaks.               
Span spanx = new Span(parx.ContentStart, parx.ContentEnd);

// Now, properties set on "spanx" will override default properties
// on elements contained by "spanx".  For example, setting 
// these arbitrary display properties on "spanx" will affect
// the child text runs enclosed by "spanx".
spanx.Foreground = Brushes.Blue;
spanx.Background = Brushes.GhostWhite;
spanx.FontFamily = new FontFamily("Century Gothic");

// Non-default property values override any settings on the 
// enclosing Span element.
run2.Foreground = Brushes.Red;
run2.Background = Brushes.AntiqueWhite;
run2.FontFamily = new FontFamily("Lucida Handwriting");
' Create a paragraph and three text runs to serve as example content.  
Dim parx3 As New Paragraph()
Dim run1 As New Run("Text run 1.")
Dim run2 As New Run("Text run 2.")
Dim run3 As New Run("Text run 3.")

' Add the three text runs to the paragraph, separated by linebreaks.
parx3.Inlines.Add(run1)
parx3.Inlines.Add(New LineBreak())
parx3.Inlines.Add(run2)
parx3.Inlines.Add(New LineBreak())
parx3.Inlines.Add(run3)

' After this line executes, the selection of content
' indicated by the "start" and "end" parameters will be
' enclosed by the new Span.  In this case, the new Span
' will enclose the entire contents of the Paragraph "parx",
' which happens to contain three text runs and two linebreaks.               
Dim spanx As New Span(parx3.ContentStart, parx3.ContentEnd)

' Now, properties set on "spanx" will override default properties
' on elements contained by "spanx".  For example, setting 
' these arbitrary display properties on "spanx" will affect
' the child text runs enclosed by "spanx".
spanx.Foreground = Brushes.Blue
spanx.Background = Brushes.GhostWhite
spanx.FontFamily = New FontFamily("Century Gothic")

' Non-default property values override any settings on the 
' enclosing Span element.
run2.Foreground = Brushes.Red
run2.Background = Brushes.AntiqueWhite
run2.FontFamily = New FontFamily("Lucida Handwriting")

The following figure shows how this example renders in a FlowDocument.

Screenshot: Three text runs

Remarks

This constructor is intended to initialize a new Span element such that it encloses a selection of pre-existing content.

Applies to