wpf automatic event generation stub - wpf

Why visual studio generates event method with number postfix, Ex: instead generating Click event of a button as button_Click, it generates button_Click_1 where there is no click event present.

Well am quite certain you have a stale button_Click somewhere.. find it and remove it

Related

Windows forms: Finding code that belongs to a button

i have a very simple question but i just can't find the answer. I have an existing Windows forms project which shows me an interface with lots of different buttons when i run it in Visual Studio 2019.
Now i want to find a way to find the code belonging to a button. I already tried clicking the buttons, but nothing happens.
So my question is: How can i automatically jump to the code that is related to one of the buttons?
Thanks a lot!
I am assuming that when you say "the code belonging to a button", you are referring to the code that runs when the button is clicked. In this case there are several ways of getting to this code.
In Winforms (not sure about anything else) you should be able to double click on the button and visual studio should navigate automatically to the code in the Button.Click event. If there is no Button.Click event handler for the button, it will create one.
Another way to get there is to select the button in the designer and go to the properties window(press F4). In the properties window go to the events list(see images), then double click on the "Click" event in this list and you should be directed to the code in the Button.Click event handler. If there is none, it will create one.
I hope this helps. If not, provide more details about your issue.

C# "Textchanged" event and infinite loop?

I'm currently creating an application that has three textboxes. Typing into one box will result in the other two having "converted" versions of the text displayed. All three boxes can be typed into and serve the same purpose (though provide different outputs for the conversion).
The "TextChanged" event is called whenever the text value of the box is changed, that is fairly self-explanatory. But will this event also trigger if I change the value through code.
Say if I changed the first box, it would create text in the second. Would the second box trigger the event as well? And would this result in an infinite loop?
No, it wouldn't. Text taken from the MSDN page on the event:
The TextChanged event is raised when the content of the text box changes between posts to the server. The event is only raised if the text is changed by the user; the event is not raised if the text is changed programmatically.
MSDN page
Yes, or no.
this behavior differs from Winform and ASP.Net (each corresponding to System.Windows.Forms.TextBox and System.Web.UI.WebControls.TextBox), means that if you are to create ASP.Net application then the answer is no, but if you are working on Winform application then the answer is yes.
Please refer to the following different saying from the MSDN:
System.Windows.Forms.Control.TextChanged Event
Remarks
This event is raised if the Text property is changed by either a
programmatic modification or user interaction.
For more information about handling events, see Handling and Raising
Events.
System.Web.UI.WebControls.TextBox.TextChanged Event
The TextChanged event is raised when the content of the text box
changes between posts to the server. The event is only raised if the
text is changed by the user; the event is not raised if the text is
changed programmatically.

How to use AddHandler to add event handler for a click event on a button in WPF

Hey collective brain,
So I need to add some additional click behavior to an existing button of a control whose click event, i assume, is handled somewhere in its encapsulated code. So I am using AddHandler() on the button, which is a CalendarDayButton, I can't seem to find a handler for click event. For the first argument of the AddHandler, I used ButtonBase.ClickEvent, and for the second I just used new EventHandler(button_click), and the third is "true". And then I get the "Handler type is mismatched." exception. Any input on this would be highly appreciated.
The problem is that, in WPF, ButtonBase.Click is a RoutedEventHandler. You need to add an appropriate delegate (not EventHandler, but one that implements RoutedEventHandler).

Navigate to Event Handler Does not work in WPF Application

I am studying a code base developed using .NET WPF. I am using Visual Studio 2008 IDE. In the XAML code, I have a line as follows:
<MenuItem Header="About" Click="Main_Window_ContextMenu_About_Click">
Clicking right mouse button, I see a option called "Navigate to Event Handler". However, clicking it does not take me to the Event Handler definition. In fact, this action seems to have no effect.
Why is this happening and how can I fix this issue?
If you're using ReSharper, hit F12 while the cursor is on the event handler name (assuming you're using ReSharper's default shortcuts)
That shortcut in the XAML designer isn't very reliable - it only works when the event handler method is defined in the code-behind for the XAML file. For example, if you have "Window.xaml" it will only work if the handler is in "Window.xaml.cs".
This breaks, for example, if the event handler is defined in a second partial class file like "Window_EventHandlers.cs". This particular one even generates a new blank event handler in the code-behind file which promptly fails to compile on a duplicate method definition - yuck!
If you can't find it, your best bet is probably a solution or project-wide search for the method name.
This is a known issue. There are several ways to fix it, including re installation.

Silverlight: Is there an event that fires on a FrameworkElement before it is rendered?

In our Silverlight 2 project we have created an attached property to perform on-the-fly translation to text properties of various user controls. To achieve this, we hook the Loaded event of the FrameworkElement when the property is set. When the event fires, we take the existing text property value and perform some simple string substitutions on it, before replacing the property value with the translated text. However, this results in the control being rendered with the untranslated text, then the text is quickly replaced with the translated version.
Is there an alternate event we can hook that would fire before the control is rendered?
I've changed my code so that it now performs the translation as soon as the setter for the attached property is called. There's no need to wait for the FrameworkElement to have finished loading, as I can change the Text property long before the element is rendered.
My initial thoughts on using the Loaded event were to reduce the startup time of the application by only translating the controls that were visible on the screen. As it turns out, I'm duplicating some of the work performed by the runtime, as the runtime won't call the property setter until it needs to anyway.
I'm not totally sure about this, but can you use the LayoutUpdated event. It will fire when the control is resized and such (you could take measures to ensure your code only executes once.)
I know it doesn't seem like the "right" event for this but unfortunately Silverlight kinda leaves you standing there holding it when it comes to events.

Resources