Как использовать встроенное изображение внутри тоста - PullRequest
0 голосов
/ 03 апреля 2020

В течение нескольких дней я сталкиваюсь со следующей проблемой:

Допустим, у меня есть форма тоста в xml в моем настольном приложении:

<toast>
  <visual>
    <binding template="ToastImageAndText04">
      <image id="1" src=""/>
      <text id="2">Line 1</text>
      <text id="3">Line 2</text>
    </binding>
  </visual>
</toast>

, и я хотел бы чтобы отобразить внутри этого тоста какое-то изображение, встроенное в приложение (я хочу иметь возможность доставить его в одном пакете вместе с приложением).

Как я могу это сделать?

Я пробовал используя CallingAssembly, однако он дает мне поток файлов, а не путь. Я также попытался преобразовать свое изображение в base64, но это вызвало исключение из-за «слишком большого содержания тостов». Любые подсказки?

Редактировать: Добавление моего метода тоста + пример вызова:

public void Toast(string message, string toastTemplatePath)
{
    var callingAssembly = Assembly.GetCallingAssembly();
    System.IO.Stream file = callingAssembly.GetManifestResourceStream(toastTemplatePath);
    StreamReader sr = new StreamReader(file);
    XmlDocument toastXml = new XmlDocument();
    toastXml.LoadXml(sr.ReadToEnd());
    var text = toastXml.GetElementsByTagName("text")[0];
    text.AppendChild(toastXml.CreateTextNode(message));
    ToastNotification toast = new ToastNotification(toastXml);
    ToastNotificationManager.CreateToastNotifier("App.ProjectName").Show(toast);
}

Пример вызова:

_toaster.Toast("Message", "ProjectName.Toaster.Xml.ToastNewDriveDetected.xml");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...