PackUriHelper.Create Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый URI типа pack.
Перегрузки
| Create(Uri) |
Создает новый пакет URI, указывающий на пакет. |
| Create(Uri, Uri) |
Создает URI пакета на основе URI Package и URI части пакета. |
| Create(Uri, Uri, String) |
Создает URI пакета на основе заданного URI Package, URI части пакета и добавляемого фрагмента "#". |
Комментарии
В следующей таблице показаны примеры вариантов для Create метода .
packageUri |
partUri |
fragment |
Возвращаемый 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 | null | pack://http:,,www.proseware.com,mypackage.pkg/page2.xaml |
http://www.proseware.com/mypackage.pkg |
/a/page4.xaml | null | pack://http:,,www.proseware.com,mypackage.pkg/a/page4.xaml |
http://www.proseware.com/mypackage.pkg |
/%41/%61.xml | null | pack://http:,,www.proseware.com,mypackage.pkg/A/a.xml |
http://www.proseware.com/mypackage.pkg |
/%25XY.xml | null | 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 |
null | null | pack://http:,,www.proseware.com,mypackage.pkg |
ftp://ftp.proseware.com/packages/mypackage1.abc |
/a/mydoc.xaml | null | 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 |
Создание URI пакета — это многоэтапный процесс. Например, одним из этапов формирования URI пакета является замена символов packageUri косой черты (/) запятыми (,).
Дополнительные сведения о преобразовании строк и о том, как формируются URI пакетов, см. в приложении A.4 "Примеры преобразования строк" и приложении B.3 "Составление URI пакета" в спецификации Открытых соглашений об упаковке, доступной для скачивания в разделе Скачивание спецификаций и лицензий.
Create(Uri)
- Исходный код:
- PackUriHelper.PackUriScheme.cs
- Исходный код:
- PackUriHelper.PackUriScheme.cs
- Исходный код:
- PackUriHelper.PackUriScheme.cs
Создает новый пакет URI, указывающий на пакет.
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
Параметры
Возвращаемое значение
Пакет URI для Package, на который ссылается данный packageUri.
Исключения
packageUri имеет значение null.
packageUri не является абсолютным URI.
Примеры
В следующем примере показано, как использовать метод для Create определения URI пакета, который ссылается на пакет.
// ------------------------ 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()
Комментарии
packageUri не может быть указан как null или пустой.
В следующей таблице показаны примеры вариантов для Create.
packageUri |
Возвращенный 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 |
Создание URI пакета — это многоэтапный процесс. Например, одним из этапов формирования универсального кода ресурса (URI) пакета является замена символов packageUri косой черты (/) запятыми (,).
Дополнительные сведения о преобразовании строк и о том, как формируются URI пакетов, см. в приложениях A.4 "Примеры преобразования строк" и Приложении B.3 "Создание URI пакета" в спецификации Open Packaging Conventions, доступной для скачивания в разделе Спецификации и скачивание лицензий.
См. также раздел
Применяется к
Create(Uri, Uri)
- Исходный код:
- PackUriHelper.PackUriScheme.cs
- Исходный код:
- PackUriHelper.PackUriScheme.cs
- Исходный код:
- PackUriHelper.PackUriScheme.cs
Создает URI пакета на основе URI Package и URI части пакета.
public:
static Uri ^ Create(Uri ^ packageUri, Uri ^ partUri);
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
Параметры
- partUri
- Uri
URI части PackagePart в пакете.
Возвращаемое значение
URI типа pack заданного объекта PackagePart.
Исключения
packageUri имеет значение null.
packageUri не является абсолютным URI.
-или-
partUri не является допустимым синтаксисом URI части.
Примеры
В следующем примере показано, как использовать метод для Create(Uri) определения URI пакета, который ссылается на пакет.
// ------------------------ 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()
Комментарии
packageUri не может быть указан как null или пустой.
Если partUri имеет значение null, возвращаемый URI пакета указывает на пакет.
В следующей таблице показаны примеры вариантов для Create метода .
packageUri |
partUri |
Возвращенный 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 |
null | 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 |
Создание URI пакета — это многоэтапный процесс. Например, одним из этапов формирования универсального кода ресурса (URI) пакета является замена символов packageUri косой черты (/) запятыми (,).
Дополнительные сведения о преобразовании строк и о том, как формируются URI пакетов, см. в приложениях A.4 "Примеры преобразования строк" и Приложении B.3 "Создание URI пакета" в спецификации Open Packaging Conventions, доступной для скачивания в разделе Спецификации и скачивание лицензий.
См. также раздел
Применяется к
Create(Uri, Uri, String)
- Исходный код:
- PackUriHelper.PackUriScheme.cs
- Исходный код:
- PackUriHelper.PackUriScheme.cs
- Исходный код:
- PackUriHelper.PackUriScheme.cs
Создает URI пакета на основе заданного URI Package, URI части пакета и добавляемого фрагмента "#".
public:
static Uri ^ Create(Uri ^ packageUri, Uri ^ partUri, System::String ^ fragment);
public static Uri Create (Uri packageUri, Uri partUri, 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
Параметры
- partUri
- Uri
URI части PackagePart в пакете.
- fragment
- String
Ссылка "#", идентифицирующая элемент в части пакета.
Возвращаемое значение
URI типа pack, определяющий заданный пакет, часть пакета и фрагмент.
Исключения
packageUri имеет значение null.
packageUri не является абсолютным URI.
-или-
partUri не является допустимым синтаксисом URI части.
-или-
fragment является пустым или начинается с символа "#".
Примеры
В следующем примере показано, как использовать метод для Create(Uri) определения URI пакета, который ссылается на пакет.
// ------------------------ 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()
Комментарии
packageUri не может быть указан как null или пустой.
Если partUri имеет значение null, возвращаемый URI пакета указывает на пакет.
fragment не может быть пустой строкой, но можно указать как null. Если не указано как null, fragment строка должна начинаться с символа "#". Дополнительные сведения о синтаксисе ссылок fragment см. в разделе 3.5 "Фрагмент" документа RFC 3986.
В следующей таблице показаны примеры вариантов для Create метода .
packageUri |
partUri |
fragment |
Возвращенный 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 | null | pack://http:,www.proseware.com,mypackage.pkg/page2.xaml |
http://www.proseware.com/mypackage.pkg |
/a/page4.xaml | null | pack://http:,www.proseware.com,mypackage.pkg/a/page4.xaml |
http://www.proseware.com/mypackage.pkg |
/%41/%61.xml | null | pack://http:,www.proseware.com,mypackage.pkg/A/a.xml |
http://www.proseware.com/mypackage.pkg |
/%25XY.xml | null | 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 |
null | null | pack://http:,,www.proseware.com,mypackage.pkg |
ftp://ftp.proseware.com/packages/mypackage1.abc |
/a/mydoc.xaml | null | 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 |
Создание URI пакета — это многоэтапный процесс. Например, одним из этапов формирования URI пакета является замена символов packageUri косой черты (/) запятыми (,).
Дополнительные сведения о преобразовании строк и о том, как формируются URI пакетов, см. в приложении A.4 "Примеры преобразования строк" и приложении B.3 "Составление URI пакета" в спецификации Открытых соглашений об упаковке, доступной для скачивания в разделе Скачивание спецификаций и лицензий.