XAML-based apps provide two properties that allow you to hide or reveal UI elements:
UIElement.Opacity—each of which has performance implications depending on how it is used.
UIElement.Visibility property is handled by the UI thread. When an element’s
Visibility property is set to Collapsed, the visual tree must be redrawn. The upside is that when collapsed, the
UIElement is not retained in visual memory, and thus decreases the amount of memory used by your app.
Conversely, controlling the visibility of an element using the
UIElement.Opacity property allows the element to be bitmap cached; the element is stored as a simple bitmap image after the first render pass. Bitmap caching ...