PackUriHelper.Create Methode

Definitie

Hiermee maakt u een nieuwe pack-URI.

Overloads

Name Description
Create(Uri)

Hiermee maakt u een nieuwe pack-URI die verwijst naar een pakket.

Create(Uri, Uri)

Hiermee maakt u een pack-URI op basis van een Package URI en de URI van een deel in het pakket.

Create(Uri, Uri, String)

Hiermee maakt u een pack-URI op basis van een Package URI, de URI van een onderdeel in het pakket en een #-fragment dat moet worden toegevoegd.

Opmerkingen

In de volgende tabel ziet u voorbeeldcases voor de Create methode.

packageUri partUri fragment Geretourneerde pack-URI
http://www.proseware.com/mypackage.pkg /page1.xaml #intro pack://http:,www.proseware.com,mypackage.pkg/page1.xaml#intro
http://www.proseware.com/mypackage.pkg /page2.xaml nul pack://http:,www.proseware.com,mypackage.pkg/page2.xaml
http://www.proseware.com/mypackage.pkg /a/page4.xaml nul pack://http:,www.proseware.com,mypackage.pkg/a/page4.xaml
http://www.proseware.com/mypackage.pkg /%41/%61.xml nul pack://http:,www.proseware.com,mypackage.pkg/A/a.xml
http://www.proseware.com/mypackage.pkg /%25XY.xml nul pack://http:,www.proseware.com,mypackage.pkg/%25XY.xml
http://www.proseware.com/mypackage.pkg /a/page5.xaml #summary pack://http:,www.proseware.com,mypackage.pkg/a/page5.xaml#summary
http://www.proseware.com/packages.aspx?pkg04 /page1.xaml #intro pack://http:,www.proseware.com,packages.aspx%3fpkg04/page1.xaml#intro
http://www.proseware.com/mypackage.pkg nul nul pack://http:,www.proseware.com,mypackage.pkg
ftp://ftp.proseware.com/packages/mypackage1.abc /a/mydoc.xaml nul pack://ftp:,ftp.proseware.com,packages,mypackage1.abc/a/mydoc.xaml
file:///d:/packages/mypackage2.pkg /a/bar.xaml #xref pack://file:,,,d:,packages,mypackage2.pkg/a/bar.xaml#xref

Het opstellen van een pack-URI is een proces met meerdere stappen. Een stap bij het vormen van een pack-URI is bijvoorbeeld het vervangen van de slash (/) tekens van de packageUri door komma's (,).

Zie bijlage A.4 'Voorbeelden van tekenreeksconversie' en bijlage B.3 'Een pack-URI opstellen' in de specificatie open packaging conventions die beschikbaar zijn om te downloaden op Specificaties en Licentiedownloads voor meer informatie over de conversie van tekenreeksen en hoe pakket-URI's worden gevormd.

Create(Uri)

Hiermee maakt u een nieuwe pack-URI die verwijst naar een pakket.

public:
 static Uri ^ Create(Uri ^ packageUri);
public static Uri Create(Uri packageUri);
static member Create : Uri -> Uri
Public Shared Function Create (packageUri As Uri) As Uri

Parameters

packageUri
Uri

De URI van de waarnaar Packagewordt verwezen.

Retouren

Uri

De pack-URI voor de Package opgegeven packageUri.

Uitzonderingen

packageUri is null.

packageUri is geen absolute URI.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de Create methode gebruikt om een pakket-URI te definiëren die verwijst naar een pakket.

// ------------------------ GetFixedDocument --------------------------
/// <summary>
///   Returns the fixed document at a given URI within
///   the currently open XPS package.</summary>
/// <param name="fixedDocUri">
///   The URI of the fixed document to return.</param>
/// <returns>
///   The fixed document at a given URI
///   within the current XPS package.</returns>
private FixedDocument GetFixedDocument(Uri fixedDocUri)
{
    FixedDocument fixedDocument = null;

    // Create the URI for the fixed document within the package. The URI
    // is used to set the Parser context so fonts & other items can load.
    Uri tempUri = new Uri(_xpsDocumentPath, UriKind.RelativeOrAbsolute);
    ParserContext parserContext = new ParserContext();
    parserContext.BaseUri = PackUriHelper.Create(tempUri);

    // Retrieve the fixed document.
    PackagePart fixedDocPart = _xpsPackage.GetPart(fixedDocUri);
    if (fixedDocPart != null)
    {
        object fixedObject =
            XamlReader.Load(fixedDocPart.GetStream(), parserContext);
        if (fixedObject != null)
            fixedDocument = fixedObject as FixedDocument;
    }

    return fixedDocument;
}// end:GetFixedDocument()
' ------------------------ GetFixedDocument --------------------------
''' <summary>
'''   Returns the fixed document at a given URI within
'''   the currently open XPS package.</summary>
''' <param name="fixedDocUri">
'''   The URI of the fixed document to return.</param>
''' <returns>
'''   The fixed document at a given URI
'''   within the current XPS package.</returns>
Private Function GetFixedDocument(ByVal fixedDocUri As Uri) As FixedDocument
    Dim fixedDocument As FixedDocument = Nothing

    ' Create the URI for the fixed document within the package. The URI
    ' is used to set the Parser context so fonts & other items can load.
    Dim tempUri As New Uri(_xpsDocumentPath, UriKind.RelativeOrAbsolute)
    Dim parserContext As New ParserContext()
    parserContext.BaseUri = PackUriHelper.Create(tempUri)

    ' Retrieve the fixed document.
    Dim fixedDocPart As PackagePart = _xpsPackage.GetPart(fixedDocUri)
    If fixedDocPart IsNot Nothing Then
        Dim fixedObject As Object = XamlReader.Load(fixedDocPart.GetStream(), parserContext)
        If fixedObject IsNot Nothing Then
            fixedDocument = TryCast(fixedObject, FixedDocument)
        End If
    End If

    Return fixedDocument
End Function ' end:GetFixedDocument()

Opmerkingen

packageUri mag niet worden opgegeven als null of leeg.

In de volgende tabel ziet u voorbeeldvoorbeelden voor Create.

packageUri Geretourneerde pack-URI
http://www.proseware.com/mypackage.pkg pack://http:,www.proseware.com,mypackage.pkg
ftp://ftp.proseware.com/packages/mypackage1.abc pack://ftp:,ftp.proseware.com,packages,mypackage1.abc
file:///d:/packages/mypackage2.pkg pack://file:,,,d:,packages,mypackage2.pkg

Het opstellen van een pack-URI is een proces met meerdere stappen. Een stap bij het vormen van een pack-URI is bijvoorbeeld het vervangen van de slash (/) tekens van de packageUri door komma's (,).

Zie bijlage A.4 'Voorbeelden van tekenreeksconversie' en bijlage B.3 'Een pack-URI opstellen' in de specificatie open packaging conventions die beschikbaar zijn om te downloaden op Specificaties en Licentiedownloads voor meer informatie over de conversie van tekenreeksen en hoe pakket-URI's worden gevormd.

Zie ook

Van toepassing op

Create(Uri, Uri)

Hiermee maakt u een pack-URI op basis van een Package URI en de URI van een deel in het pakket.

public:
 static Uri ^ Create(Uri ^ packageUri, Uri ^ partUri);
public static Uri Create(Uri packageUri, Uri partUri);
static member Create : Uri * Uri -> Uri
Public Shared Function Create (packageUri As Uri, partUri As Uri) As Uri

Parameters

packageUri
Uri

De URI van de Package.

partUri
Uri

De URI van de PackagePart in het pakket.

Retouren

Uri

De pack-URI van de opgegeven PackagePart.

Uitzonderingen

packageUri is null.

packageUri is geen absolute URI.

– of –

partUri is geen geldige deel-URI-syntaxis.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de Create(Uri) methode gebruikt om een pakket-URI te definiëren die verwijst naar een pakket.

// ------------------------ GetFixedDocument --------------------------
/// <summary>
///   Returns the fixed document at a given URI within
///   the currently open XPS package.</summary>
/// <param name="fixedDocUri">
///   The URI of the fixed document to return.</param>
/// <returns>
///   The fixed document at a given URI
///   within the current XPS package.</returns>
private FixedDocument GetFixedDocument(Uri fixedDocUri)
{
    FixedDocument fixedDocument = null;

    // Create the URI for the fixed document within the package. The URI
    // is used to set the Parser context so fonts & other items can load.
    Uri tempUri = new Uri(_xpsDocumentPath, UriKind.RelativeOrAbsolute);
    ParserContext parserContext = new ParserContext();
    parserContext.BaseUri = PackUriHelper.Create(tempUri);

    // Retrieve the fixed document.
    PackagePart fixedDocPart = _xpsPackage.GetPart(fixedDocUri);
    if (fixedDocPart != null)
    {
        object fixedObject =
            XamlReader.Load(fixedDocPart.GetStream(), parserContext);
        if (fixedObject != null)
            fixedDocument = fixedObject as FixedDocument;
    }

    return fixedDocument;
}// end:GetFixedDocument()
' ------------------------ GetFixedDocument --------------------------
''' <summary>
'''   Returns the fixed document at a given URI within
'''   the currently open XPS package.</summary>
''' <param name="fixedDocUri">
'''   The URI of the fixed document to return.</param>
''' <returns>
'''   The fixed document at a given URI
'''   within the current XPS package.</returns>
Private Function GetFixedDocument(ByVal fixedDocUri As Uri) As FixedDocument
    Dim fixedDocument As FixedDocument = Nothing

    ' Create the URI for the fixed document within the package. The URI
    ' is used to set the Parser context so fonts & other items can load.
    Dim tempUri As New Uri(_xpsDocumentPath, UriKind.RelativeOrAbsolute)
    Dim parserContext As New ParserContext()
    parserContext.BaseUri = PackUriHelper.Create(tempUri)

    ' Retrieve the fixed document.
    Dim fixedDocPart As PackagePart = _xpsPackage.GetPart(fixedDocUri)
    If fixedDocPart IsNot Nothing Then
        Dim fixedObject As Object = XamlReader.Load(fixedDocPart.GetStream(), parserContext)
        If fixedObject IsNot Nothing Then
            fixedDocument = TryCast(fixedObject, FixedDocument)
        End If
    End If

    Return fixedDocument
End Function ' end:GetFixedDocument()

Opmerkingen

packageUri mag niet worden opgegeven als null of leeg.

Als partUri dat het is null, verwijst de geretourneerde pack-URI naar het pakket.

In de volgende tabel ziet u voorbeeldcases voor de Create methode.

packageUri partUri Geretourneerde pack-URI
http://www.proseware.com/mypackage.pkg /page2.xaml pack://http:,www.proseware.com,mypackage.pkg/page2.xaml
http://www.proseware.com/mypackage.pkg /a/page4.xaml pack://http:,www.proseware.com,mypackage.pkg/a/page4.xaml
http://www.proseware.com/mypackage.pkg /%41/%61.xml pack://http:,www.proseware.com,mypackage.pkg/A/a.xml
http://www.proseware.com/mypackage.pkg /%25XY.xml pack://http:,www.proseware.com,mypackage.pkg/%25XY.xml
http://www.proseware.com/mypackage.pkg nul pack://http:,www.proseware.com,mypackage.pkg
ftp://ftp.proseware.com/packages/mypackage1.abc /a/mydoc.xaml pack://ftp:,ftp.proseware.com,packages,mypackage1.abc/a/mydoc.xaml
file:///d:/packages/mypackage2.pkg /a/bar.xaml pack://file:,,,d:,packages,mypackage2.pkg/a/bar.xaml

Het opstellen van een pack-URI is een proces met meerdere stappen. Een stap bij het vormen van een pack-URI is bijvoorbeeld het vervangen van de slash (/) tekens van de packageUri door komma's (,).

Zie bijlage A.4 'Voorbeelden van tekenreeksconversie' en bijlage B.3 'Een pack-URI opstellen' in de specificatie open packaging conventions die beschikbaar zijn om te downloaden op Specificaties en Licentiedownloads voor meer informatie over de conversie van tekenreeksen en hoe pakket-URI's worden gevormd.

Zie ook

Van toepassing op

Create(Uri, Uri, String)

Hiermee maakt u een pack-URI op basis van een Package URI, de URI van een onderdeel in het pakket en een #-fragment dat moet worden toegevoegd.

public:
 static Uri ^ Create(Uri ^ packageUri, Uri ^ partUri, System::String ^ fragment);
public static Uri Create(Uri packageUri, Uri partUri, string fragment);
static member Create : Uri * Uri * string -> Uri
Public Shared Function Create (packageUri As Uri, partUri As Uri, fragment As String) As Uri

Parameters

packageUri
Uri

De URI van de Package.

partUri
Uri

De URI van de PackagePart in het pakket.

fragment
String

Een #-verwijzing waarmee een element in het pakketonderdeel wordt geïdentificeerd.

Retouren

Uri

De pakket-URI die het opgegeven pakket, pakketonderdeel en fragment identificeert.

Uitzonderingen

packageUri is null.

packageUri is geen absolute URI.

– of –

partUri is geen geldige deel-URI-syntaxis.

– of –

fragment is leeg of begint met '#'.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de Create(Uri) methode gebruikt om een pakket-URI te definiëren die verwijst naar een pakket.

// ------------------------ GetFixedDocument --------------------------
/// <summary>
///   Returns the fixed document at a given URI within
///   the currently open XPS package.</summary>
/// <param name="fixedDocUri">
///   The URI of the fixed document to return.</param>
/// <returns>
///   The fixed document at a given URI
///   within the current XPS package.</returns>
private FixedDocument GetFixedDocument(Uri fixedDocUri)
{
    FixedDocument fixedDocument = null;

    // Create the URI for the fixed document within the package. The URI
    // is used to set the Parser context so fonts & other items can load.
    Uri tempUri = new Uri(_xpsDocumentPath, UriKind.RelativeOrAbsolute);
    ParserContext parserContext = new ParserContext();
    parserContext.BaseUri = PackUriHelper.Create(tempUri);

    // Retrieve the fixed document.
    PackagePart fixedDocPart = _xpsPackage.GetPart(fixedDocUri);
    if (fixedDocPart != null)
    {
        object fixedObject =
            XamlReader.Load(fixedDocPart.GetStream(), parserContext);
        if (fixedObject != null)
            fixedDocument = fixedObject as FixedDocument;
    }

    return fixedDocument;
}// end:GetFixedDocument()
' ------------------------ GetFixedDocument --------------------------
''' <summary>
'''   Returns the fixed document at a given URI within
'''   the currently open XPS package.</summary>
''' <param name="fixedDocUri">
'''   The URI of the fixed document to return.</param>
''' <returns>
'''   The fixed document at a given URI
'''   within the current XPS package.</returns>
Private Function GetFixedDocument(ByVal fixedDocUri As Uri) As FixedDocument
    Dim fixedDocument As FixedDocument = Nothing

    ' Create the URI for the fixed document within the package. The URI
    ' is used to set the Parser context so fonts & other items can load.
    Dim tempUri As New Uri(_xpsDocumentPath, UriKind.RelativeOrAbsolute)
    Dim parserContext As New ParserContext()
    parserContext.BaseUri = PackUriHelper.Create(tempUri)

    ' Retrieve the fixed document.
    Dim fixedDocPart As PackagePart = _xpsPackage.GetPart(fixedDocUri)
    If fixedDocPart IsNot Nothing Then
        Dim fixedObject As Object = XamlReader.Load(fixedDocPart.GetStream(), parserContext)
        If fixedObject IsNot Nothing Then
            fixedDocument = TryCast(fixedObject, FixedDocument)
        End If
    End If

    Return fixedDocument
End Function ' end:GetFixedDocument()

Opmerkingen

packageUri mag niet worden opgegeven als null of leeg.

Als partUri dat het is null, verwijst de geretourneerde pack-URI naar het pakket.

fragment kan geen lege tekenreeks zijn, maar kan worden opgegeven als null. Wanneer deze niet is opgegeven als null, moet de fragment tekenreeks beginnen met een #-teken. Zie sectie 3.5 Fragment van RFC 3986 voor meer informatie over de syntaxis van fragment verwijzingen.

In de volgende tabel ziet u voorbeeldcases voor de Create methode.

packageUri partUri fragment Geretourneerde pack-URI
http://www.proseware.com/mypackage.pkg /page1.xaml #intro pack://http:,www.proseware.com,mypackage.pkg/page1.xaml#intro
http://www.proseware.com/mypackage.pkg /page2.xaml nul pack://http:,www.proseware.com,mypackage.pkg/page2.xaml
http://www.proseware.com/mypackage.pkg /a/page4.xaml nul pack://http:,www.proseware.com,mypackage.pkg/a/page4.xaml
http://www.proseware.com/mypackage.pkg /%41/%61.xml nul pack://http:,www.proseware.com,mypackage.pkg/A/a.xml
http://www.proseware.com/mypackage.pkg /%25XY.xml nul pack://http:,www.proseware.com,mypackage.pkg/%25XY.xml
http://www.proseware.com/mypackage.pkg /a/page5.xaml #summary pack://http:,www.proseware.com,mypackage.pkg/a/page5.xaml#summary
http://www.proseware.com/packages.aspx?pkg04 /page1.xaml #intro pack://http:,www.proseware.com,packages.aspx%3fpkg04/page1.xaml#intro
http://www.proseware.com/mypackage.pkg nul nul pack://http:,www.proseware.com,mypackage.pkg
ftp://ftp.proseware.com/packages/mypackage1.abc /a/mydoc.xaml nul pack://ftp:,ftp.proseware.com,packages,mypackage1.abc/a/mydoc.xaml
file:///d:/packages/mypackage2.pkg /a/bar.xaml #xref pack://file:,,,d:,packages,mypackage2.pkg/a/bar.xaml#xref

Het opstellen van een pack-URI is een proces met meerdere stappen. Een stap bij het vormen van een pack-URI is bijvoorbeeld het vervangen van de slash (/) tekens van de packageUri door komma's (,).

Zie bijlage A.4 'Voorbeelden van tekenreeksconversie' en bijlage B.3 'Een pack-URI opstellen' in de specificatie open packaging conventions die beschikbaar zijn om te downloaden op Specificaties en Licentiedownloads voor meer informatie over de conversie van tekenreeksen en hoe pakket-URI's worden gevormd.

Zie ook

Van toepassing op