Search code examples
wpflabeltextblock

Difference between Label and TextBlock


According to the Windows Applications Development with Microsoft .NET 4 70-511 Training Kit

What is the difference between the Label control and TextBlock control since both are content controls and just displaying text?


Solution

  • TextBlock is not a control

    Even though TextBlock lives in the System.Windows.Controls namespace, it is not a control. It derives directly from FrameworkElement. Label, on the other hand, derives from ContentControl. This means that Label can:

    1. Be given a custom control template (via the Template property).
    2. Display data other than just a string (via the Content property).
    3. Apply a DataTemplate to its content (via the ContentTemplate property).
    4. Do whatever else a ContentControl can do that a FrameworkElement cannot.

      • Label text is grayed out when disabled
      • Label supports access keys
      • Label is much heavier than TextBlock

    Source

    Some more interesting reads below