.net - Call Winforms-style Invoke/Delegate From MVVM?
Oct 12, 2010
I'm hacking away at some code which seems to have been started, at least in theory, as an MVVM project in Expression Blend, by my predecessor at this company.
I've got a thread running in the background, which is running some operations on items as they happen. In order to prevent any clashes, I've also got that thread running any operations my users call for.
Once those operations are completed, I'd like to bring up a MessageBox to give a summary of the user-initiated operations, but now that they're running off in their own thread, the finishedProcessing event handler is now running on the background thread instead of the interface thread and it's causing my MessageBoxes to appear non-modally.
Back in the WinForms days, I'd have handled that using InvokeRequired, Invoke and a Delegate. I've read that this has been replaced by something called "Dispatcher", but the ViewModel class I'm using doesn't seem to have a Dispatcher object.
The "thisViewModel" class I'm using inherits a class called "WorkspaceViewModel", which inherits "ViewModelBase", both of which look generated to me...
where I can link up to this "Dispatcher" from here?
View 1 Replies
ADVERTISEMENT
Feb 3, 2009
I have a few textbox for data display and RS232 communication in my application. After I send characters on RS232, I want text boxes display feedback characters from RS232 receive. So in SerialPort_DataReceived() i was told to use Invoke to display received characters on TextBox1, TexBox2.how to define delegate for TextBox1 and call Invoke()?
View 9 Replies
Mar 5, 2009
I'm trying to figure out if it is possible to instantiate and invoke a delegate by name, rather than explicitly. I think the code below explains it fairly well. I want to accept a function name and then instantiate the delegate based on that. In the example I use a select case, but I want to eliminate that and just use the methodName argument itself.
Private Delegate Sub myDelegate()
Private Sub myDelegate_Implementation1()
'Some code
End Sub
Private Sub myDelegate_Implementation2()
[Code] .....
View 4 Replies
Sep 1, 2011
I understand that .NET is multi-threaded and that is a good thing, but I continually run into issues when I have a background worker for example that is updating some control on my form and I have to do:[code] My question is why is this not built into the framework - surely if I am trying to update a DataGridView it should be intelligent enough to know when the update is from another thread and it could do all the above itself?
View 3 Replies
Oct 1, 2009
I'm working with the DevExpress XtraGrid control.I have a routine that goes thru and adds all the controls on the current form dynamically, and launches on a seperate thread the routine for a given control to initialize it to the value that will be displayed to the end-user. Some of the controls are displaying calculated values, and take some time to return their values, so that's why we are doing it on a seperate thread.
[Code]...
I'm using a similar snippet of code for any control properties that have to be updated, and all work fine. On the above code when the actual Invoke is called, it APPEARS that the thread just ends and never calls the delegate, and doesn't return to finish either.
View 2 Replies
Aug 16, 2010
I have some code in c#
BeginInvoke(new MethodInvoker( delegate() {myAppMethod_Tick(sender, e); }));
Now, When I tried to convert that code to vb.net I have below..
BeginInvoke(New MethodInvoker(Function() Do myAppMethod_Tick(sender, e) End Function))
But it does not compile.. What's problem for it?
Because my c# application works ok without any problem..
View 3 Replies
Oct 4, 2010
What is the Invoke syntax to marshall data from a background thread receive callback method to a function on the UI Thread?(Form1).
Public Class Form1
MyDelegate = New DisplayData(AddressOf DisplayData)
Private Sub Form1_Load()
MyDelegate = New DisplayData(AddressOf DisplayData)
[code]....
View 12 Replies
Apr 15, 2012
I'm attempting to improve my MVVM abilities in my next WP7 App (which is written in Vb.NET). I have a textbox that has been given focus and has a WP7 keyboard displayed. I am using command binding and a xyzzer's bindable Application bar (which is excellent).[URL] I want to be able to cancel the focus of the TextBox from the ViewModel, by setting focus on the form. Normally (Non MVVM) I would do this from within the form by calling:
[Code]...
View 3 Replies
Oct 25, 2009
I'm running into a strange error and I can't move forward Consider the following code
View 1 Replies
Aug 4, 2010
D is a dictionary whose entry values are of Type T..What I'm attempting to do is have a delegate like "Serializer" below that I can invoke on an instance of T, such as "Entry.Value" below.Please see the "return Entry..." line below for my wishful thinking.[code]
View 2 Replies
Jan 28, 2012
I'm having problems with a program where I've got some multi threaded activities addressing the states of check boxes, which in turn are created by a user definable interface To achieve this I'm using the code below, which works on some occasions and crashes on other occasions when it stops with the following error NullReferenceException was unhandled Object reference not set to an instance of an object.Delegate Sub CBSetCallback(ByVal cb As CheckBox, ByVal value As Boolean)
Private Sub SetCheckBox(ByVal cb As CheckBox, ByVal state As Boolean)
If cb.InvokeRequired Then
Dim d As New CBSetCallback(AddressOf CBset)
Invoke(d, New Object() {cb, state})
[code].....
View 1 Replies
Jul 5, 2011
The idea is that I would have a set of forms, users would click through a "forward" and "back" button, and the current form would change to a different one. My issue is that I can write code that just pops up a new form, but im not sure how to do a "replacement" of my current form. How is this usually done?
View 3 Replies
Jun 10, 2011
So, I'm having troubles implementing a separate thread. This is because I have a simple class, and in it I start a new thread. So, as it is not any form, I haven't found any way to make it call the function in the UI Thread.
So, I cannot use the Invoke method. Is there any way to call a function from another thread?
View 2 Replies
Jun 22, 2010
i got a background worker that has the following code in the do work.... one of the things i want to do is to add rows if theres none available ...but i got an error saying i need to do a safe call thread...i already read about it but im stuck i put control.invoke, but that gives me an error too saying Error 1 Reference to a non-shared member requires an object reference.
[Code]...
View 1 Replies
May 27, 2010
i got a background worker that has the following code in the do work.... one of the things i want to do is to add rows if theres none available ...but i got an error saying i need to do a safe call thread...i already read about it but im stuck i put control.invoke, but that gives me an error too saying Error1Reference to a non-shared member requires an object reference.what can i do to add rows safely?
vb.net
Private Sub BackgroundWorker2_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker2.DoWork
If DataGridView2.Rows.Item(num).Cells.Item(0).Value = "" Then
Control.Invoke(DataGridView2.Rows.Add(1))
View 6 Replies
Jun 29, 2011
Here's the code I have but I'm getting syntax issues:
CODE:
I'm just looking to call ReadAndPopulate method for each item in aList. I know I can do it the traditional "For each a in aList...Next" way but wanted to learn how to do it with delegates.
View 8 Replies
Sep 6, 2011
Is it possible to pass multiple arguments to a delegate method from a list(Of T).ForEach call?So, I'd like to pass a listbox object to the delegate routine below:
Sub test()
Dim names As New List(Of String)
names.Add("Bruce")
names.Add("Alfred")
[code]....
View 4 Replies
Mar 16, 2010
I've got the following code:
[code]...
The problem is that, when I call the "SetStatusBarText" sub from another thread, InvokeRequired is True (as it should be), but then my threads stall on the Me.Invoke statement - pausing execution shows them all just sitting there, not actually invoking anything.
View 1 Replies
Jun 4, 2012
Background: My application is used to execute tests using Selenium RC servers, and occasionally I'm running into a problem when my call to a Selenium command doesn't return the response from the RC server - it then ends up blocking the thread that is executing the test.
[Code]...
View 1 Replies
Jan 30, 2010
from the documentation we have this: Multicast Delegate: Represents a multicast delegate; that is, a delegate that can have more than one element in its invocation list.
so am i right to say that Multicast delegate is no different from a normal delegate other than the fact that it has arguments. so System.Action is a 'normal' delegate whereas System.Action(T)(Byval obj as T) is a multicast delegate?
View 5 Replies
Aug 27, 2011
I am trying to call a method that started on a background thread on the UI thread calling BeginInvoke and passing in a delegate as follows:
Dispatcher.BeginInvoke(Function() UpdateApplicationDataUI())
to call this method:
Private Sub UpdateApplicationDataUI()
...
End Sub
However, I get an error in the call to BeginInvoke (the UpdateApplicationDataUI portion of the delegate is stating "Expression does not produce a value").
Me.Dispatcher.BeginInvoke(Function() New Action(AddressOf UpdateApplicationDataUI))
View 1 Replies
Feb 9, 2010
I've created a Delegate that I intend to call Async.
[Code]...
View 2 Replies
Jun 1, 2010
Code:
Public Class SendPings
Shared Sub New()
AddHandler Post.Saved, AddressOf Post_Saved[code].....
I get a error" Method 'Private Shared Sub Ping(item As BlogEngine.Core.IPublishable, itemUrl As System.Uri)' does not have a signature compatible with delegate 'Delegate Sub WaitCallback(state As Object)'.
View 4 Replies
Aug 27, 2010
I have a filesystewatcher object. On it`s event it runs a procedure which fills a treeview with a data. I had problems with treeview methods, but when I run them using invoke method everything is ok. But I still have one problem. When I load the form for the first time, everything works fine. But, when I then close the form (me.dispose, me.close), and load it once again, when Filesystemwathcer start the procedure i have an exception "invoke or begininvoke cannot be called on a control until the window handle has been created" trying to run a treeview.invoke method?
View 9 Replies
Apr 10, 2009
What is Platform Invoke Service (P/Invoke)?
View 1 Replies
Oct 13, 2010
We have a UI with a progressbar. I know how to invoke, safely, the control from which it was not created from a thread. there are threads being processed in a threadpool, all of which calls an "agent" (which is a notifier to raise an event back to the UI to then increase the progressbar). an "agent" is set as a property in a State object, which is then passed into a method which will be executed on the ThreadPool. so, I invoke on the UI the method to update the progressbar, but the bar does not seem to update at all (screen frozen) and it takes a very very long time for it to execute. without threading, no problem.
[Code]...
View 8 Replies
Mar 23, 2011
how i can change the native scrollbar style in my application to my custom style. I can adopt a custom scrollbar to attain this purpose but this will not serve my purpose because i want this attribute in entire application. Like it the text in textbox gets longer than its bounds than the scrollbar appers are my custom bar not the formal ones
View 12 Replies
Nov 1, 2010
i need to change dynamically from my Code Behind the Images on Buttons or Menu Elements. For this case i would like to store the different Icons/Images in my Application and use them at Runtime from within the Code Behind and assign them to different Buttons, Menu Elements etc.
View 3 Replies
Apr 12, 2010
I set the cell style progromatically on a condition.. but when that condition is no longer met I want to go back to the grids.cell original (default) style property
if x=y then
row.Cells(column.Name.ToString).Style.ApplyStyle(mystyle)
else
[code].....
View 1 Replies
May 14, 2010
How can I disable the parent form when I call a child form?This code doesn't disable the parent form like I thought it would:
frmChild.ShowDialog()
View 2 Replies