2013-05-30 6 views
1

У меня есть многопоточный WPF-аппликация. В моем приложении есть небольшой процесс, который работает в фоновом режиме, и как только это будет сделано, пользовательский интерфейс будет обновлен с результатом.WPF анимация изображения

Я уже реализовал функциональность и работает отлично. Я просто хочу создать анимированное изображение обработки, как показано ниже для моего приложения, чтобы он продолжал работать до тех пор, пока пользовательский интерфейс не будет обновлен. Я не очень хорошо разбираюсь в смеси Expression, чтобы создать такую ​​анимацию.

http://www.google.com/imgres?imgurl=https://www.sunvalleywellness.org/img/animation_processing.gif&imgrefurl=http://www.sunvalleywellness.org/&h=200&w=200&sz=55&tbnid=d4OPzhVnCB_kNM:&tbnh=90&tbnw=90&zoom=1&usg=__KPnWRjNlWm-AuZg0lavRE5lzMcA=&docid=JZavNcJukA3ZwM&sa=X&ei=SlenUcG-DIjtqwGMqYHAAQ&ved=0CDMQ9QEwAg&dur=733

Можете ли вы помочь мне пожалуйста, чтобы создать это. I

Благодаря

Ди

ответ

0

Вы должны сделать это со свойством BOOL в вас Модельное или DataContext. Это свойство должно указывать, работают ли они в фоновом режиме, например: IsWorking. Когда вы начинаете задание, установите это свойство true, когда вы закончите задание, установите значение false. Смотрите этот пример кода для вас DataContext класс:

var currentSyncContext = SynchronizationContext.Current; 
var backgroundWorker = new BackgroundWorker(); 
backgroundWorker.DoWork += (_,__) => 
         { 
          currentSyncContext.Send((t)=>{IsWorking = true;},null);  //this is for change the visual tree from another thread 
          //Here write the job you want to do... 
          currentSyncContext.Send((t)=>{IsWorking = false;},null); //this is for change the visual tree from another thread 
         }; 
backgroundWorker.RunWorkerAsync(); 

Тогда в вас XAML код, который вы должны связать видимость изображения или управления для этого свойства, используя BooleanToVisibilityConverter.

Я думаю, что это классический способ сделать это. Надежда работает для вас ...

+0

Я понимаю это. Я уже это реализовал. Мне нужен этот контроль обработки изображений для пользовательского интерфейса. Как я могу сделать это изображение с анимацией – user2203652

+0

Вы можете анимировать элемент управления изображением (с изображением, который вы хотите внутри) с помощью RotateTransform и сделать его повторяющимся навсегда (это значение типа булево или enum). Затем скройте или покажите этот элемент управления, когда захотите. –

Смежные вопросы