You can't load the font as long as you don't have full file system privileges.
But what you can do is the following:
I. Let the user pick a font file from the system (I guess you did already complete this task)
II. Copy the retrieved StorageFile into your app's sandbox.
async Task<StorageFile> ImportFont(StorageFile file)
{
StorageFolder folder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("fontcache", CreationCollisionOption.OpenIfExists);
return await file.CopyAsync(folder, file.Name, NameCollisionOption.ReplaceExisting);
}
III. Next, create the path to the imported file (here are all available URI schemes listed)
StorageFile importedFile = await ImportFont(userPickedFile);
string fontPath = "ms-appdata:///local/fontcache/" + importedFile.Name;
IV. Create the font family based on your path
string fontName = sharpDXFont.Name; // this is the name SharpDX has extracted
FontFamily family = new FontFamily(fontPath + "#" + fontName);
V. That's it!
Don't forget to clean up your local folder, when the font is not need anymore.