2016-05-31 9 views
1

Ich möchte einen TextBlock innerhalb des Titels einer MahApps-Kachel hinzufügen (wobei bestimmte Teile des Textes mit einigen Eigenschaften in Verbindung gebracht werden). Ich habe das versucht, aber es sagt "Eigenschaft unterstützt keine Werte vom Typ TextBlock".Wie fügt man TextBlock in MahApps Tile hinzu?

<mah:Tile> 
<mah:Tile.Title>        
    <TextBlock>       
    </TextBlock>       
</mah:Tile.Title> 

Wie kann es geschehen?

+0

Haben Sie es nach dem Hinzufügen als Gitter versucht? –

+0

@Sumodh S Es gibt den gleichen Fehler, wenn ich TextBlock durch Grid ersetze. –

Antwort

0

Die Title-Eigenschaft der Kachel möchte explizit, dass eine Zeichenfolge übergeben wird, sodass Sie hier keinen TextBlock verknüpfen können.

Sie können nun wie folgt vor:

  • die Vorlage des Tile Überschreiben: Dies gibt Ihnen völlige Freiheit, wie das Aussehen zu strukturieren, aber Sie können leicht einige Verhaltensweisen der Tile verlieren
  • Meine Empfehlung: Lassen Sie den Titel des Tile leer und überschreiben Sie das ContentTemplate des Tile, um einfach neben dem Hauptinhalt des Tile Ihren eigenen Title TextBlock anzuzeigen. In diesem Fall wird die Viewmodel, die Sie auf die Fliese binden könnte einen Körper und einen Titel Besitz- und XAML-Datatemplate einschließlich könnte wie folgt aussehen:

Damit Sie auch den Titel in jede beliebige Position bewegen können Sie

mögen
<mah:Tile DataContext="yourViewModel"> 
    <mah:Tile.ContentTemplate> 
     <DataTemplate> 
      <DockPanel LastChildFill="True"> 
       <TextBlock Text="{Binding Title}" DockPanel.Dock="Bottom" /> 
       <ContentControl Content="{Binding Body}" /> 
      </DockPanel> 
     </DataTemplate> 
    </mah:Tile.ContentTemplate> 
</mah:Tile> 
Verwandte Themen