URIs in NoesisGUI

In noesisGUI, uniform resource identifiers (URIs) are used to identify and load files like Images, Fonts and Dictionaries. Two kind of URIs are supported: absolute and relative.

Relative URIs

By default, a relative pack URI is considered relative to the location of the XAML that contains the reference. For example:

<Image Source="Images/icon.png" />

In this example, the image icon.png must be located in the directory Images that must exist in the same place than the XAML itself. For example, consider the following project structure:

/ App
  + Sample.csproj
  / XAML
    + test.xaml
    / Images
      + icon.png

With relative URIs the concatenation of the XAML location with the specified location is send to the Resource Provider.

Absolute URIs

For Absolute URIs the specified location is sent without modifications to the Resource Provider.

Absolute URIs start with '/' and might be preceded by pack://application:,,, and/or a reference to a WPF project like /Sample;component:


The name of the project, Sample.csproj in this case, is ignored by Noesis.

<Image Source="pack://application:,,,/Images/icon.png" />
<Image Source="pack://application:,,,/Sample;component/Images/icon.png" />
<Image Source="/Sample;component/Images/icon.png" />
<Image Source="/Images/icon.png" />

In all these cases, resource providers will receive the path "Images/icon.png"" when being asked to load the asset.

Paths beginning with a drive letter are also considered absolute:

<Image Source="C:/Images/icon.png" />

In this case the entire path is passed to the resource provider "C:/Images/icon.png".

© 2017 Noesis Technologies