如何在 MahApps Tile 中添加 TextBlock?
How to add TextBlock inside MahApps Tile?
我想在 MahApps Tile 的标题中添加一个 TextBlock(考虑到将部分文本与某些属性绑定)。我已经试过了,但它说 "Property does not support values of type TextBlock".
<mah:Tile>
<mah:Tile.Title>
<TextBlock>
</TextBlock>
</mah:Tile.Title>
如何做到?
Tile 的标题 属性 明确希望传递一个字符串,因此您不能在此处 link TextBlock。
您现在可以执行以下操作:
- 覆盖 Tile 的模板:这使您可以完全自由地构建外观,但您可能很容易失去 Tile 的某些行为
- 我的建议:将 Tile 的标题留空并覆盖 Tile 的 ContentTemplate,以便在 Tile 的主要内容之外仅显示您自己的标题 TextBlock。在这种情况下,您绑定到图块的视图模型可能有一个 Body 和一个标题 属性 并且您的 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>
我想在 MahApps Tile 的标题中添加一个 TextBlock(考虑到将部分文本与某些属性绑定)。我已经试过了,但它说 "Property does not support values of type TextBlock".
<mah:Tile>
<mah:Tile.Title>
<TextBlock>
</TextBlock>
</mah:Tile.Title>
如何做到?
Tile 的标题 属性 明确希望传递一个字符串,因此您不能在此处 link TextBlock。
您现在可以执行以下操作:
- 覆盖 Tile 的模板:这使您可以完全自由地构建外观,但您可能很容易失去 Tile 的某些行为
- 我的建议:将 Tile 的标题留空并覆盖 Tile 的 ContentTemplate,以便在 Tile 的主要内容之外仅显示您自己的标题 TextBlock。在这种情况下,您绑定到图块的视图模型可能有一个 Body 和一个标题 属性 并且您的 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>