私はXamarin.FormsのIconizeで問題を解決しました。私は以下のIconizeサンプルコードに基づいて私のソリューションを実装しました。私の場合は
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:iconize="clr-namespace:FormsPlugin.Iconize;assembly=FormsPlugin.Iconize"
x:Class="Iconize.FormsSample.Page1"
Title="{Binding FontFamily}">
<ContentPage.ToolbarItems>
<iconize:IconToolbarItem Command="{Binding ModalTestCommand}" Icon="fa-500px" />
<iconize:IconToolbarItem Command="{Binding VisibleTestCommand}" Icon="fa-500px" IconColor="Red" />
<iconize:IconToolbarItem Command="{Binding VisibleTestCommand}" Icon="fa-500px" IsVisible="{Binding VisibleTest}" />
</ContentPage.ToolbarItems>
<ListView CachingStrategy="RecycleElement" ItemsSource="{Binding Characters}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal">
<iconize:IconImage HeightRequest="20" Icon="{Binding Key}" IconColor="Blue" WidthRequest="20" />
<iconize:IconImage HeightRequest="20" Icon="{Binding Key}" BackgroundColor="Blue" IconColor="Yellow" WidthRequest="20" IconSize="10" />
<iconize:IconButton FontSize="20" Text="{Binding Key}" TextColor="Red" WidthRequest="48" />
<iconize:IconLabel FontSize="20" Text="{Binding Key}" TextColor="Green" VerticalTextAlignment="Center" />
<Label Text="{Binding Key}" VerticalTextAlignment="Center" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ContentPage>
、私は単に私の元<Image .../>
要素を交換し、 <iconize:IconImage HeightRequest="20" Icon="fa-circle" IconColor="{Binding CircleColor}" WidthRequest="20" />
と交換しなければなりませんでした。
私のViewModelに、自分のロジックに基づいて必要に応じてアイコンの色を設定するCircleColorプロパティを追加しました。
できません。透明にして背景色を設定してみてください。または、フォント(FontAwesomeなど)を作成して色を設定してみることもできます。それ以外の場合は、色ごとに異なるアイコンセットが必要になります。 – Jason
可能な重複は、ここに回答http://stackoverflow.com/questions/37860955/add-overlay-color-to-an-image-using-xamarin-forms/37861038#37861038 –
@ Jasonご意見ありがとうございます。私はそれらを試してみる機会はまだありませんでしたが、私はあなたに私の結果を知らせます。 – Bolezee