PackUriHelper.Create Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
Retouren
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
- partUri
- Uri
De URI van de PackagePart in het pakket.
Retouren
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
- partUri
- Uri
De URI van de PackagePart in het pakket.
- fragment
- String
Een #-verwijzing waarmee een element in het pakketonderdeel wordt geïdentificeerd.
Retouren
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.