In my experience, WPF borders are a bit lighter, but more importantly, they represent a slightly different need, although they often turn out to be the same on the screen. If I am composing something that includes rectangles as part of what it is, then a rectangle is usually appropriate. If I want to emphasize something on the screen or indicate that the object has some other state, then I use the border. I often bind the color, thickness or visibility of this border to the state property of the model (or whatever in your case), but the essential difference is that the border is not part of the object. This is a way to simply highlight this object or to be visible.
Or, if this is some kind of thing already written, for example TextBox, and I add some color around it, it will usually be a border.
By observing this distinction, it helps your XAML tree better understand you and gives you code that is easier to maintain later.
JamesWHurst
source share