Skip to content

Commit 5f4bed8

Browse files
Merge branch 'dotnet:main' into fix-iOSBillingSample
2 parents 3b71ff0 + d7a2ea0 commit 5f4bed8

File tree

2 files changed

+56
-15
lines changed

2 files changed

+56
-15
lines changed

10.0/Apps/DeveloperBalance/Pages/Controls/CategoryChart.xaml

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,18 @@
22
<Border xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
33
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
44
xmlns:chart="clr-namespace:Syncfusion.Maui.Toolkit.Charts;assembly=Syncfusion.Maui.Toolkit"
5-
xmlns:controls="clr-namespace:DeveloperBalance.Pages.Controls"
5+
xmlns:controls="clr-namespace:DeveloperBalance.Pages.Controls"
66
xmlns:shimmer="clr-namespace:Syncfusion.Maui.Toolkit.Shimmer;assembly=Syncfusion.Maui.Toolkit"
77
xmlns:pageModels="clr-namespace:DeveloperBalance.PageModels"
88
x:Class="DeveloperBalance.Pages.Controls.CategoryChart"
99
HeightRequest="{OnIdiom 300, Phone=200}"
10+
x:DataType="pageModels:MainPageModel"
1011
Style="{StaticResource CardStyle}">
1112
<shimmer:SfShimmer
1213
AutomationProperties.IsInAccessibleTree="False"
1314
BackgroundColor="Transparent"
1415
VerticalOptions="Fill"
15-
IsActive ="{Binding IsBusy}">
16+
IsActive="{Binding IsBusy}">
1617
<shimmer:SfShimmer.CustomView>
1718
<Grid>
1819
<BoxView
@@ -22,8 +23,12 @@
2223
</Grid>
2324
</shimmer:SfShimmer.CustomView>
2425
<shimmer:SfShimmer.Content>
25-
<chart:SfCircularChart x:Name="Chart" SemanticProperties.Description="Task Categories Chart">
26-
<chart:DoughnutSeries
26+
<chart:SfCircularChart x:Name="Chart"
27+
SemanticProperties.Description="Task Categories Chart">
28+
<chart:SfCircularChart.Resources>
29+
<controls:ChartDataLabelConverter x:Key="ChartDataLabelConverter"/>
30+
</chart:SfCircularChart.Resources>
31+
<chart:DoughnutSeries
2732
ItemsSource="{Binding TodoCategoryData}"
2833
PaletteBrushes="{Binding TodoCategoryColors}"
2934
XBindingPath="Title"
@@ -32,27 +37,35 @@
3237
EnableTooltip="False"
3338
x:Name="doughnutSeries"
3439
Radius="{OnIdiom 0.6, Phone=0.5}"
35-
InnerRadius="0.7" >
40+
InnerRadius="0.7">
3641
<chart:DoughnutSeries.LabelTemplate>
37-
<DataTemplate >
38-
<HorizontalStackLayout>
39-
<Label Text="{Binding Item.Title}" TextColor="{AppThemeBinding
42+
<DataTemplate>
43+
<HorizontalStackLayout x:DataType="chart:ChartDataLabel">
44+
<Label Text="{Binding Item, Converter={StaticResource ChartDataLabelConverter}, ConverterParameter='title'}"
45+
TextColor="{AppThemeBinding
4046
Light={StaticResource DarkOnLightBackground},
41-
Dark={StaticResource LightOnDarkBackground}}" FontSize="{OnIdiom 18, Phone=14}"/>
42-
<Label Text=": " TextColor="{AppThemeBinding
47+
Dark={StaticResource LightOnDarkBackground}}"
48+
FontSize="{OnIdiom 18, Phone=14}"/>
49+
<Label Text=": "
50+
TextColor="{AppThemeBinding
4351
Light={StaticResource DarkOnLightBackground},
44-
Dark={StaticResource LightOnDarkBackground}}" FontSize="{OnIdiom 18, Phone=14}"/>
45-
<Label Text="{Binding Item.Count}" TextColor="{AppThemeBinding
52+
Dark={StaticResource LightOnDarkBackground}}"
53+
FontSize="{OnIdiom 18, Phone=14}"/>
54+
<Label Text="{Binding Item, Converter={StaticResource ChartDataLabelConverter}, ConverterParameter='count'}"
55+
TextColor="{AppThemeBinding
4656
Light={StaticResource DarkOnLightBackground},
47-
Dark={StaticResource LightOnDarkBackground}}" FontSize="{OnIdiom 18, Phone=14}"/>
57+
Dark={StaticResource LightOnDarkBackground}}"
58+
FontSize="{OnIdiom 18, Phone=14}"/>
4859
</HorizontalStackLayout>
4960
</DataTemplate>
5061
</chart:DoughnutSeries.LabelTemplate>
5162

5263
<chart:DoughnutSeries.DataLabelSettings>
53-
<chart:CircularDataLabelSettings LabelPosition="Outside" SmartLabelAlignment="Shift">
64+
<chart:CircularDataLabelSettings LabelPosition="Outside"
65+
SmartLabelAlignment="Shift">
5466
<chart:CircularDataLabelSettings.ConnectorLineSettings>
55-
<chart:ConnectorLineStyle ConnectorType="Line" StrokeWidth="3" ></chart:ConnectorLineStyle>
67+
<chart:ConnectorLineStyle ConnectorType="Line"
68+
StrokeWidth="3"></chart:ConnectorLineStyle>
5669
</chart:CircularDataLabelSettings.ConnectorLineSettings>
5770
</chart:CircularDataLabelSettings>
5871
</chart:DoughnutSeries.DataLabelSettings>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
using System;
2+
using System.Globalization;
3+
using DeveloperBalance.Models;
4+
5+
namespace DeveloperBalance.Pages.Controls;
6+
7+
public class ChartDataLabelConverter : IValueConverter
8+
{
9+
public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
10+
{
11+
if (value is CategoryChartData categoryData && parameter is string parameterValue)
12+
{
13+
return parameterValue?.ToLower() switch
14+
{
15+
"title" => categoryData.Title,
16+
"count" => categoryData.Count.ToString(),
17+
_ => value?.ToString()
18+
};
19+
}
20+
21+
return value?.ToString();
22+
}
23+
24+
public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
25+
{
26+
throw new NotImplementedException();
27+
}
28+
}

0 commit comments

Comments
 (0)