所以我正在开发一个Windows Phone 8应用程序,我正在使用mytoolkit:FixedHtmlBlock来显示html内容。我的代码在
之下 <mytoolkit:FixedHtmlTextBlock Html="{Binding Content}" FontSize="24" Foreground="{StaticResource AppForegroundColor}" />
我想自定义h3标签的样式,我在这里找到了这个文档https://mytoolkit.codeplex.com/wikipage?title=HtmlTextBlock
它说我们可以使用以下代码来自定义样式
((ParagraphGenerator)((HtmlTextBlock)html).Generators["h2"]).FontSize = 26;
((ParagraphGenerator)((HtmlTextBlock)html).Generators["h3"]).FontSize = 20;
((ParagraphGenerator)((HtmlTextBlock)html).Generators["h3"]).FontStyle = FontStyles.Italic;
但我无法弄清楚如何使用这些,或在哪里放置它们。有人可以告诉我们如何使用这些代码吗?
更新
所以<mytoolkit:FixedHtmlTextBlock x:Name="pcd" Html="{Binding Content}" FontSize="24" Foreground="{StaticResource AppForegroundColor}" />
位于下面给出的资源字典中,存储在Views / DataTemplates / Post1Detail.xaml中。
<DataTemplate x:Name="Posts1DetailLayout">
<Grid Margin="10,5,5,5">
<ScrollViewer>
<StackPanel>
<mytoolkit:FixedHtmlTextBlock Html="{Binding Title}" FontSize="32" Foreground="{StaticResource AppForegroundColor}"/>
<mytoolkit:FixedHtmlTextBlock x:Name="pcd" Html="{Binding Content}" FontSize="24" Foreground="{StaticResource AppForegroundColor}" />
</StackPanel>
</ScrollViewer>
</Grid>
</DataTemplate>
资源字典在Views / Posts.xaml中作为
访问<Grid x:Name="LayoutRoot" Background="{StaticResource AppBackgroundColor}">
<phone:Pivot Name="Container" Grid.Row="0" Foreground="{StaticResource AppForegroundColor}" Background="{StaticResource AppBackground}" SelectionChanged="OnSelectionChanged" toolkit:TiltEffect.IsTiltEnabled="True"
TitleTemplate="{StaticResource AppPivotTitle}"
HeaderTemplate="{StaticResource AppPivotHeader}"
ItemTemplate="{StaticResource Posts1DetailLayout}"
ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}">
</phone:Pivot>
</Grid>
请注意资源字典数据模板&#39; Post1DetailLayout&#39;正在ItemTemplate="{StaticResource Post1DetailLayout"}
在PostsDetail.xaml构造函数中,我尝试执行以下操作
using System;
using System.Windows;
using System.Windows.Input;
using System.Windows.Controls;
using System.Windows.Navigation;
using System.Windows.Threading;
using System.ComponentModel;
using System.Threading.Tasks;
using System.Net.NetworkInformation;
using Microsoft.Phone.Controls;
using MyToolkit.Paging;
using AppStudio.Data;
using AppStudio.Services;
using MyToolkit.Controls;
using MyToolkit.Controls.HtmlTextBlockImplementation.Generators;
using System.Windows.Resources;
using System.IO;
namespace AppStudio
{
public partial class PostsDetail
{
private bool _isDeepLink = false;
public PostsDetail()
{
InitializeComponent();
pcd.Generators["h3"] = new ParagraphGenerator()
{
FontSize = 26,
};
}
我收到错误&#34; pcd在当前上下文中不存在&#34;。现在如何访问资源字典中的fixedhtmltextblock名称并在PostDetail构造函数中使用它?
答案 0 :(得分:1)
<mytoolkit:FixedHtmlTextBlock x:Name="YourHtmlBlock" Html="{Binding Content}" FontSize="24" Foreground="{StaticResource AppForegroundColor}" />
YourHtmlBlock.Generators["p"] = new ParagraphGenerator()
{
//change properties here :)
};
如果您想要更改更多,可以自定义ParagraphGenerator。