Application.GetResourceStream Method (Uri)

Returns a resource file from a location in the application package.

Namespace:  System.Windows
Assembly:  System.Windows (in System.Windows.dll)

'Declaration
Public Shared Function GetResourceStream ( _
	uriResource As Uri _
) As StreamResourceInfo

Parameters

uriResource
Type: System.Uri
A relative URI that identifies the resource file to be loaded. The URI is relative to the application package and does not need a leading forward slash.

Return Value

Type: System.Windows.Resources.StreamResourceInfo
A StreamResourceInfo that contains the stream for the desired resource file.

ExceptionCondition
ArgumentException

The application class is not initialized.

-or-

uriResource is an absolute URI.

ArgumentNullException

uriResource is Nothing.

The GetResourceStream method allows you to load an arbitrary resource file from one of the following locations:

  • Embedded in the application assembly in the application package.

  • Embedded in a library assembly that is included in the application package.

  • Included in the application package.

The following code shows how to use GetResourceStream to load an image resource file from these three locations.

Run this sample


<UserControl x:Class="SilverlightApplication.PageShort"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <StackPanel x:Name="stackPanel" />

</UserControl>



Imports System.Windows.Resources
Imports System.Windows.Media.Imaging

Partial Public Class PageShort
    Inherits UserControl

    Public Sub New()
        InitializeComponent()

        ' Load image resource files included in the application package 
        ' and resources that are embedded in assemblies included in the
        ' application package.

        ' Load an image resource file embedded in the application assembly.
        Dim img1 As Image = LoadImage( _
            "/SilverlightApplication;component/EmbeddedInApplicationAssembly.png")
        Me.stackPanel.Children.Add(img1)

        ' Load an image resource file included the application package.
        Dim img2 As Image = LoadImage("IncludedInApplicationPackage.png")
        Me.stackPanel.Children.Add(img2)

        ' Load an image resource file embedded in a library assembly, 
        ' which is included in the application package.
        Dim img3 As Image = LoadImage( _
            "/SilverlightLibrary;component/EmbeddedInLibraryAssembly.png")
        Me.stackPanel.Children.Add(img3)

    End Sub

    Public Function LoadImage(ByVal relativeUriString As String) As Image

        ' Get the image stream at the specified URI that
        ' is relative to the application package root.
        Dim uri As New Uri(relativeUriString, UriKind.Relative)
        Dim sri As StreamResourceInfo = Application.GetResourceStream(uri)

        ' Convert the stream to an Image object.
        Dim bi As New BitmapImage()
        bi.SetSource(sri.Stream)
        Dim img As New Image()
        img.Source = bi

        Return img

    End Function

End Class


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show: