Я пытаюсь сделать ссылку на внешний файл, как в не скомпилированном приложении silverlight, для моего словаря ресурсов. Я хотел бы иметь возможность помещать «темы» в папку на моем веб-сайте и использовать их без необходимости перекомпиляции и загрузки каждый раз, когда я создаю новую.
У меня успешно меняется ресурс, но я не могу найти способ ссылки на файл, которого нет в скомпилированном приложении.
Вот что у меня есть:
private void BlueButtonClick(object sender, RoutedEventArgs e)
{
var s = App.GetResourceStream(new System.Uri("/DynamicDictionary;component/dict2.xaml", System.UriKind.Relative)).Stream;
var reader = new StreamReader(s);
var xaml = reader.ReadToEnd();
var rdd = (ResourceDictionary)XamlReader.Load(xaml);
Resources.MergedDictionaries.Add(rdd);
VictoryIsMine();
}
Я хотел бы иметь возможность изменить '/DynamicDictionary;component/dict2.xaml' на что-то вроде 'http://localhost:9393/dict2.xaml', но это дает мне ошибку.
У кого-нибудь есть предложения?
* РЕДАКТИРОВАТЬ **
Это выдает мне следующую ошибку, когда я пытаюсь сослаться на localhost:
{System.UriFormatException: родственник
URI не может быть создан, потому что
Параметр 'uriString' представляет
абсолютный URI. в
System.Uri.CreateThis (Строка uri,
Boolean dontEscape, UriKind uriKind)
в System.Uri..ctor (String uriString,
UriKind uriKind) в
DynamicDictionary.MainPage.RedButtonClick (Объект
отправитель, RoutedEventArgs e) в
System.Windows.Controls.Primitives.ButtonBase.OnClick ()
в
System.Windows.Controls.Button.OnClick ()
в
System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp (MouseButtonEventArgs
есть
System.Windows.Controls.Control.OnMouseLeftButtonUp (Control
Ctrl, EventArgs e) в
MS.Internal.JoltHelper.FireEvent (IntPtr
unmanagedObj, IntPtr unmanagedObjArgs,
Int32 argsTypeIndex, Int32
actualArgsTypeIndex, String
EventName)}