私はXamarin.Formsを使用してアプリケーションを作成しています。アイコンをUWPアプリケーションのタブ付きページに表示したいとします。これを実現するために、カスタムレンダラーを使用しようとしています。カスタムレンダラコードxamarin.fromsでUWPヘッダーテンプレートのアイコンを使用する
class TabbedPageWithIconsRenderer : TabbedPageRenderer
{
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
if (e.NewElement != null && Control != null)
{
Control.HeaderTemplate = App.Current.Resources["TabHeaderTemplate"] as DataTemplate;
}
}
}
とデータテンプレートのスタイルがあります:
<forms:ImageConverter x:Key="imageConverter" />
<DataTemplate x:Key="TabHeaderTemplate">
<StackPanel >
<Image
HorizontalAlignment="Center"
Margin="0,12,0,0"
Height="24"
Width="24"
Source="{Binding Icon, Converter={StaticResource imageConverter}}" />
<TextBlock
FontFamily="Segoe UI"
Text="{Binding Title}"
Style="{StaticResource CaptionTextBlockStyle}"
LineStackingStrategy="BlockLineHeight"
LineHeight="14"
MaxLines="2"
IsTextScaleFactorEnabled="False"
TextAlignment="Center"
HorizontalAlignment="Center"
Margin="2,5,2,7" />
</StackPanel>
</DataTemplate>
問題は、タイトルが正常に動作していることですが、アイコンが表示されることはありません、しかしそれらは正しくForms.Xamlの各ページに割り当てられています。
私は間違っていますか?
コンバータサンプルが機能しました。 HeaderTemplateに標準のXamarin.Formsイメージコンバーターを使用することは不可能です。 –