Is it really important to use pack URIs in WPF app

2019-06-16 20:36发布

问题:

Why should we use those, rather than ordinary ones?

what's the benefits of using this:

new Uri("pack://application:,,,/File.xaml");

over that:

new Uri("/File.xaml", UriKind.Relative);

回答1:

The first one - you can use cross-assembly by adding a assembly-name after the three commas. So, you can create a shared library with common styles and other XAML-goodness that can be shared between several assemblies.

Syntax is like this:

pack://application:,,,/Common;component/CommonResources.xaml

where Common is the name of the assembly and everything after component is the path inside that assembly to the mapped resource. The latter can only be used inside the same assembly (and should be preferred).

I use it a lot for ResourceDictionaries residing in a common assembly above several module-type assemblies.



标签: wpf uri