Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: WPF Access object
/// <summary>
/// function put username and password
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void m_vpn_needLoginAndPassword(object sender, NeedLoginAndPasswordEventArgs e)
{
   e.UserName = username.Text;
   e.Password = password.Password;
 
}
 

error
 
The calling thread cannot access this object because a different thread owns it.
 
i use
 
if (Application.Current.Dispatcher.CheckAccess())
{
   e.UserName = username.Text;
   e.Password = password.Password;
}
else
{
    //Other wise re-invoke the method with UI thread access
   e.UserName = username.Text;
   e.Password = password.Password;
 
}</pre>
 
not work
 
thank you
Posted 28-Jun-13 16:38pm
witawat466

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

All correct, exactly as the exception message tells you. On the else branch, use Dispatcher.Invoke:
http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.invoke.aspx[^].
 
For some explanations, please see my past answers:
Control.Invoke() vs. Control.BeginInvoke()[^],
Problem with Treeview Scanner And MD5[^].
 
—SA
  Permalink  
Comments
witawat at 29-Jun-13 2:06am
   
hello
 
i not understand Invoke function if code work at c# not use wpf ..
///
/// function put username and password
///

/// <param name="sender"></param>
/// <param name="e"></param>
private void m_vpn_needLoginAndPassword(object sender, NeedLoginAndPasswordEventArgs e)
{
if (Application.Current.Dispatcher.CheckAccess())
{
e.UserName = username.Text;
e.Password = password.Password;
}
else
{
//Other wise re-invoke the method with UI thread access
e.UserName = username.Text;
e.Password = password.Password;
 
// Can use code ?

}
}
Sergey Alexandrovich Kryukov at 29-Jun-13 12:10pm
   
Why are you repeating the code? Why didn't you follow my advice?
Even if it's new, please move it to the question using "Improve question".
—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 245
1 Kamal Rocks 184
2 Sergey Alexandrovich Kryukov 175
3 BillWoodruff 173
4 PIEBALDconsult 160
0 OriginalGriff 5,655
1 DamithSL 4,506
2 Maciej Los 3,997
3 Kornfeld Eliyahu Peter 3,480
4 Sergey Alexandrovich Kryukov 3,180


Advertise | Privacy | Mobile
Web03 | 2.8.141216.1 | Last Updated 29 Jun 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100