Как создать SplashScreen из загруженного файла изображения, а не ресурса проекта - PullRequest
5 голосов
/ 19 мая 2011

Как бы вы унаследовали System.Windows.SplashScreen, поэтому он должен обогатить этот класс возможностью конструировать себя при загрузке изображения по точному пути.Конструкторы:

public SplashScreen(string resourceName);
public SplashScreen(Assembly resourceAssembly, string resourceName);

Поскольку я все еще чувствую себя неловко с WPF, у меня нет единой идеи, где начинать изменения?

Или мне следует полностью изменить собственный класс SplashScreen?

Ответы [ 3 ]

0 голосов
/ 28 сентября 2011

почему бы не установить сборку ресурса, содержащую образ для каждого клиента и ссылаться или загрузить его с помощью Assembly.Load() во время выполнения?

, вы даже можете автоматизировать сборку такой сборки ресурса с помощью Mono.Cecil в инструменте

0 голосов
/ 01 марта 2012

Создайте окно с именем splashscreen и сделайте его одноэлементным, например:

public partial class Splashscreen:Window
{
 static Splashscreen splashscreen;
    public Splashscreen()
    {
        InitializeComponent();
    }

    public static void ShowSplashScreen()
    {
        splashscreen = new Splashscreen();
        splashscreen.Show();
    }

    public static Splashscreen SplashScreen { get { return splashscreen; } set { splashscreen = value; } }

Выполните все необходимые настройки в xaml, например, отображение статуса, прогресса, изображения и т. Д.

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

вызовите splashscreen.showsplashscreen () в первой строке вашего void main () или в вашем appstartup.как только приложение полностью загрузится, уничтожьте splashscreen, вызвав splashscreen.splashscreen.close () либо sync, либо async.

0 голосов
/ 19 мая 2011

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

Просто прочитайте статью MSDN здесь, WPF SplashScreen кажется довольно скудным, вWinForm вы можете добавить текст (где вы можете отобразить сообщение о состоянии и прочее).

...