Right I think the important point here is that behavior and appearance are totally separated with WPF. The Button class defines how a button acts, that is has some content on type object and then it is a Click event, but it doesn’t define that it should
look like a rounded rectangle with a particular gradient and text as it content. Instead that appearance is defined in a ControlTemplate which is not a part of the class definition and so it can be changed by application developers without having to mess
with the Button class.