如何在MahApps Tile中添加TextBlock?

时间:2016-05-31 12:09:35

标签: c# wpf mahapps.metro

我想在MahApps Tile的标题中添加一个TextBlock(考虑到文本的绑定部分有一些属性)。我试过这个,但它说“属性不支持TextBlock类型的值”。

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

怎么做?

1 个答案:

答案 0 :(得分:0)

Tile的Title属性显然需要传递一个String,所以你不能在这里链接TextBlock。

您现在可以执行以下操作:

  • 覆盖平铺模板:这使您可以完全自由地构建外观,但您可能很容易失去平铺的一些行为
  • 我的建议:将Tile的标题留空,并覆盖Tile的ContentTemplate,以便除了Tile的主要内容外,只显示您自己的Title TextBlock。在这种情况下,您绑定到磁贴的视图模型可以具有Body和Title属性,并且包含datatemplate的xaml可能如下所示:

使用此功能,您还可以将标题移动到您喜欢的任何位置

<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>