Olá meus amigos, preciso de uma ajudinha com xaml wpf + c#.
Seguinte fiz uma animação que eu usaria como se fosse um loading até ai blz, mas quando precisei colocar no código ocorreu que
ao chamar minha Window que contempla um user control e nele esta minha animação com o metodo Window.Show() continua processando os códigos abaixo mas a animação não roda!
E quando eu chamo Window.ShowDialog() a animação roda mas prende a aplicação e os trechos de código abaixo não são execultados!
É possível chamar minha modal com o método ShowDialog e que o processamento continue?
Como devo proceder?
Obrigado!
Nome : Romy G. Moura Cargo: Analista Programador
Pessoal conseguir resolver, caso seja interessante pra mim funciona muito bem
public delegate void ParameterizedResponseCallBack();
#region Back Ground Worker
public Componentes.Loading.ModalLoading WinMd;
public ParameterizedResponseCallBack CallBack { get; set; }
public BackgroundWorker BG_Worker = new BackgroundWorker();
public Window ObjMain { get; set; }
public ViewModelBase()
{
this.ObjMain = Utilitarios.CarregarConteudo.Instance.PegarMain();
this.Model = new T();
BG_Worker.DoWork += new DoWorkEventHandler(BGWorker_DoWork);
BG_Worker.ProgressChanged += new ProgressChangedEventHandler(BGWorker_ProgressChanged);
BG_Worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(BGWorker_RunWorkerCompleted);
BG_Worker.WorkerSupportsCancellation = true;
BG_Worker.WorkerReportsProgress = true;
}
void BGWorker_DoWork(object sender, DoWorkEventArgs e)
{
if (this.CallBack != null)
this.CallBack();
}
void BGWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
}
void BGWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
this.FecharModal();
}
public void AbrirModal()
{
this.WinMd = new Componentes.Loading.ModalLoading();
this.WinMd.Owner = this.ObjMain;
this.WinMd.Show();
}
public void FecharModal()
{
if (this.WinMd != null)
this.WinMd.Close();
}
#endregion
Basta colocar em uma classe base, depois chame da seguinte maneira.
public ICommand EventCliqueContinuar
{
get
{
return _eventCliqueContinuar ?? (_eventCliqueContinuar = new Base.ViewModelCommand((e) =>
{
try
{
this.AbrirModal();
this.CallBack = BtnContinuar_Click;
this.BG_Worker.RunWorkerAsync();
}
catch (Exception)
{
throw;
}
//this.BtnContinuar_Click();
}));
}
}
Qualquer dúvida é só falar!
Nome : Romy G. Moura Cargo: Analista Programador