Oren Eini

aka Ayende Rahien

Oren Eini

CEO of RavenDB

a NoSQL Open Source Document Database

Get in touch with me:

oren@ravendb.net +972 52-548-6969

Posts: 7,583
|
Comments: 51,213

Copyright ©️ Ayende Rahien 2004 — 2025

Privacy Policy · Terms
filter by tags archive
stack view grid view
  • architecture (612) rss
  • bugs (451) rss
  • challanges (123) rss
  • community (379) rss
  • databases (481) rss
  • design (895) rss
  • development (641) rss
  • hibernating-practices (71) rss
  • miscellaneous (592) rss
  • performance (397) rss
  • programming (1085) rss
  • raven (1449) rss
  • ravendb.net (533) rss
  • reviews (184) rss
  • 2025
    • June (5)
    • May (10)
    • April (10)
    • March (10)
    • February (7)
    • January (12)
  • 2024
    • December (3)
    • November (2)
    • October (1)
    • September (3)
    • August (5)
    • July (10)
    • June (4)
    • May (6)
    • April (2)
    • March (8)
    • February (2)
    • January (14)
  • 2023
    • December (4)
    • October (4)
    • September (6)
    • August (12)
    • July (5)
    • June (15)
    • May (3)
    • April (11)
    • March (5)
    • February (5)
    • January (8)
  • 2022
    • December (5)
    • November (7)
    • October (7)
    • September (9)
    • August (10)
    • July (15)
    • June (12)
    • May (9)
    • April (14)
    • March (15)
    • February (13)
    • January (16)
  • 2021
    • December (23)
    • November (20)
    • October (16)
    • September (6)
    • August (16)
    • July (11)
    • June (16)
    • May (4)
    • April (10)
    • March (11)
    • February (15)
    • January (14)
  • 2020
    • December (10)
    • November (13)
    • October (15)
    • September (6)
    • August (9)
    • July (9)
    • June (17)
    • May (15)
    • April (14)
    • March (21)
    • February (16)
    • January (13)
  • 2019
    • December (17)
    • November (14)
    • October (16)
    • September (10)
    • August (8)
    • July (16)
    • June (11)
    • May (13)
    • April (18)
    • March (12)
    • February (19)
    • January (23)
  • 2018
    • December (15)
    • November (14)
    • October (19)
    • September (18)
    • August (23)
    • July (20)
    • June (20)
    • May (23)
    • April (15)
    • March (23)
    • February (19)
    • January (23)
  • 2017
    • December (21)
    • November (24)
    • October (22)
    • September (21)
    • August (23)
    • July (21)
    • June (24)
    • May (21)
    • April (21)
    • March (23)
    • February (20)
    • January (23)
  • 2016
    • December (17)
    • November (18)
    • October (22)
    • September (18)
    • August (23)
    • July (22)
    • June (17)
    • May (24)
    • April (16)
    • March (16)
    • February (21)
    • January (21)
  • 2015
    • December (5)
    • November (10)
    • October (9)
    • September (17)
    • August (20)
    • July (17)
    • June (4)
    • May (12)
    • April (9)
    • March (8)
    • February (25)
    • January (17)
  • 2014
    • December (22)
    • November (19)
    • October (21)
    • September (37)
    • August (24)
    • July (23)
    • June (13)
    • May (19)
    • April (24)
    • March (23)
    • February (21)
    • January (24)
  • 2013
    • December (23)
    • November (29)
    • October (27)
    • September (26)
    • August (24)
    • July (24)
    • June (23)
    • May (25)
    • April (26)
    • March (24)
    • February (24)
    • January (21)
  • 2012
    • December (19)
    • November (22)
    • October (27)
    • September (24)
    • August (30)
    • July (23)
    • June (25)
    • May (23)
    • April (25)
    • March (25)
    • February (28)
    • January (24)
  • 2011
    • December (17)
    • November (14)
    • October (24)
    • September (28)
    • August (27)
    • July (30)
    • June (19)
    • May (16)
    • April (30)
    • March (23)
    • February (11)
    • January (26)
  • 2010
    • December (29)
    • November (28)
    • October (35)
    • September (33)
    • August (44)
    • July (17)
    • June (20)
    • May (53)
    • April (29)
    • March (35)
    • February (33)
    • January (36)
  • 2009
    • December (37)
    • November (35)
    • October (53)
    • September (60)
    • August (66)
    • July (29)
    • June (24)
    • May (52)
    • April (63)
    • March (35)
    • February (53)
    • January (50)
  • 2008
    • December (58)
    • November (65)
    • October (46)
    • September (48)
    • August (96)
    • July (87)
    • June (45)
    • May (51)
    • April (52)
    • March (70)
    • February (43)
    • January (49)
  • 2007
    • December (100)
    • November (52)
    • October (109)
    • September (68)
    • August (80)
    • July (56)
    • June (150)
    • May (115)
    • April (73)
    • March (124)
    • February (102)
    • January (68)
  • 2006
    • December (95)
    • November (53)
    • October (120)
    • September (57)
    • August (88)
    • July (54)
    • June (103)
    • May (89)
    • April (84)
    • March (143)
    • February (78)
    • January (64)
  • 2005
    • December (70)
    • November (97)
    • October (91)
    • September (61)
    • August (74)
    • July (92)
    • June (100)
    • May (53)
    • April (42)
    • March (41)
    • February (84)
    • January (31)
  • 2004
    • December (49)
    • November (26)
    • October (26)
    • September (6)
    • April (10)
RavenDB Workshops - Deep dive into practical use of Document Data Modeling
  previous post next post  
Sep 23 2010

How to find the stack trace for data binding?

time to read 1 min | 61 words

This is a rather special request, I’ll admit. For reasons of my own, I need to find the method(s) called to actually performed data binding in WPF & WinForms.

I have an elegant solution, which is too large to include in this blog post, but I’ll say that it doesn’t involves reflector at all.

Can you figure it out?

Tweet Share Share 14 comments

  previous post next post  

Comments

configurator
23 Sep 2010
10:12 AM
configurator

Throwing an exception and looking at its stack trace?

Andres
23 Sep 2010
10:13 AM
Andres

Dynamics?

Dalibor Čarapić
23 Sep 2010
10:37 AM
Dalibor Čarapić

Use StackTrace class?

Paulo Quicoli
23 Sep 2010
10:47 AM
Paulo Quicoli

Maybe, using some AOP you can log those methods for further use.

Harry M
23 Sep 2010
11:03 AM
Harry M

I have discovered a truly marvelous method to find the methods used in databinding, in WPF or Winforms. This margin is too narrow to contain it.

Lars Hundertwasser
23 Sep 2010
11:22 AM
Lars Hundertwasser

This sounds like "Fermat's Last Theorem" :). Sure hope the outcome will be different.

Hugo
23 Sep 2010
11:24 AM
Hugo

Use a "debug" converter, which does nothing but return the value passed in, and set a breakpoint in the "Convert" method?

Samuel Jack
23 Sep 2010
11:48 AM
Samuel Jack

Put breakpoints in the get and set methods of properties that are databound, then look at the stack trace in Visual Studio.

For bonus points, enable .Net Framework source stepping and you can step through the databinding engine.

Alex Simkin
23 Sep 2010
12:57 PM
Alex Simkin

@Samuel Jack Yep. That's how I do it too.

Daniel Hoelbling
23 Sep 2010
15:26 PM
Daniel Hoelbling

Dynamic Proxy Interceptor with a Breakpoint in it? ;)

greetings Daniel

Shawn Wildermuth
23 Sep 2010
17:11 PM
Shawn Wildermuth

Converter.

Leon Breedt
23 Sep 2010
21:26 PM
Leon Breedt

Trace points and printing of $CALLSTACK?

René van den Berg
24 Sep 2010
09:09 AM
René van den Berg

Subclass Binding?

Dathan
24 Sep 2010
14:57 PM
Dathan

Two of my three approaches were already mentioned above:

1) Breakpoint in the property getter/setter;

2) Throw an exception in the property getter/setter;

Also, you could use the profiling API, but I don't think that counts as an "elegant solution."

For WinForms, you could probably also attach Format and/or Parse listeners to the Binding, and break/throw inside the appropriate methods. There's no guarantee that the call to Format/Parse is going to be made within the specific call stack that you're hoping to find, though.

Comment preview

Comments have been closed on this topic.

Markdown formatting

ESC to close

Markdown turns plain text formatting into fancy HTML formatting.

Phrase Emphasis

*italic*   **bold**
_italic_   __bold__

Links

Inline:

An [example](http://url.com/ "Title")

Reference-style labels (titles are optional):

An [example][id]. Then, anywhere
else in the doc, define the link:
  [id]: http://example.com/  "Title"

Images

Inline (titles are optional):

![alt text](/path/img.jpg "Title")

Reference-style:

![alt text][id]
[id]: /url/to/img.jpg "Title"

Headers

Setext-style:

Header 1
========
Header 2
--------

atx-style (closing #'s are optional):

# Header 1 #
## Header 2 ##
###### Header 6

Lists

Ordered, without paragraphs:

1.  Foo
2.  Bar

Unordered, with paragraphs:

*   A list item.
    With multiple paragraphs.
*   Bar

You can nest them:

*   Abacus
    * answer
*   Bubbles
    1.  bunk
    2.  bupkis
        * BELITTLER
    3. burper
*   Cunning

Blockquotes

> Email-style angle brackets
> are used for blockquotes.
> > And, they can be nested.
> #### Headers in blockquotes
> 
> * You can quote a list.
> * Etc.

Horizontal Rules

Three or more dashes or asterisks:

---
* * *
- - - - 

Manual Line Breaks

End a line with two or more spaces:

Roses are red,   
Violets are blue.

Fenced Code Blocks

Code blocks delimited by 3 or more backticks or tildas:

```
This is a preformatted
code block
```

Header IDs

Set the id of headings with {#<id>} at end of heading line:

## My Heading {#myheading}

Tables

Fruit    |Color
---------|----------
Apples   |Red
Pears	 |Green
Bananas  |Yellow

Definition Lists

Term 1
: Definition 1
Term 2
: Definition 2

Footnotes

Body text with a footnote [^1]
[^1]: Footnote text here

Abbreviations

MDD <- will have title
*[MDD]: MarkdownDeep

 

FUTURE POSTS

No future posts left, oh my!

RECENT SERIES

  1. Production postmorterm (2):
    11 Jun 2025 - The rookie server's untimely promotion
  2. Webinar (7):
    05 Jun 2025 - Think inside the database
  3. Recording (16):
    29 May 2025 - RavenDB's Upcoming Optimizations Deep Dive
  4. RavenDB News (2):
    02 May 2025 - May 2025
  5. Production Postmortem (52):
    07 Apr 2025 - The race condition in the interlock
View all series

RECENT COMMENTS

  • I enjoy reading these production postmortems, and I've read them as they enter my feed aggregator. Thanks for sharing, and be...
    By Espen Røvik Larsen on Production postmorterm: The rookie server's untimely promotion
  • Can confirm :) still had the old developer license on my other PC, using the Force update now can me a green Your license has...
    By Steve on RavenDB GenAI Deep Dive
  • Steve, Please try that again, I believe that we sorted this out on our end.
    By Oren Eini on RavenDB GenAI Deep Dive
  • Should have kept a screenshot, tried that first but got a response in orange that said something like "it succeeded but the k...
    By Steve on RavenDB GenAI Deep Dive
  • Steve, You should have access to that feature, even with an older license. Please go to About > Force Update in the licen...
    By Oren Eini on RavenDB GenAI Deep Dive

Syndication

Main feed Feed Stats
Comments feed   Comments Feed Stats
}