chart.Categories.Add(new Usercontrols.DonutCategory() { Name = "Visits", Color = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF60C6CF")), Percent = 40 }); chart.Categories.Add(new Usercontrols.DonutCategory() { Name = "Members", Color = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF989CFF")), Percent = 25 }); chart.Categories.Add(new Usercontrols.DonutCategory() { Name = "Sales", Color = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF59C5A0")), Percent = 23 }); chart.Categories.Add(new Usercontrols.DonutCategory() { Name = "Lose", Color = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FFF35958")), Percent = 12 }); }
هذا احد الاساليب .
اما الطريقة المرنة هي باستعمال الـ Binding للـ Categories Property واساندها لـ ViewModel وهذا مايسمى بنمط MVVM
فانت اضفت في Xaml اربع Categories وثم اضفت في الـ Codebehind اربعا اخرى وبالتالي اصبحت هناك 8 من Categories
اذن لابد من كود الحذف وهو هذا
PHP كود :
Private Sub button_Click(sender As Object, e As RoutedEventArgs) Handles button.Click Dim chart As DonutChart = TryCast(CType(chartGeneralBorder, Grid).Children.Cast(Of FrameworkElement)().Where(Function(a) a.GetType() = GetType(DonutChart)).Single(), DonutChart)
'حذف الكاتيغوريس PieChart.categories.Clear() PieChart.categories.Add(New Chart.DonutCategory() With {.NameA = "Visits", .ColorA = New SolidColorBrush(CType(ColorConverter.ConvertFromString("#FF60C6CF"), Color)), .PercentA = 40}) PieChart.categories.Add(New Chart.DonutCategory() With {.NameA = "Members", .ColorA = New SolidColorBrush(CType(ColorConverter.ConvertFromString("#FF989CFF"), Color)), .PercentA = 25}) PieChart.categories.Add(New Chart.DonutCategory() With {.NameA = "Sales", .ColorA = New SolidColorBrush(CType(ColorConverter.ConvertFromString("#FF59C5A0"), Color)), .PercentA = 23}) PieChart.categories.Add(New Chart.DonutCategory() With {.NameA = "Lose", .ColorA = New SolidColorBrush(CType(ColorConverter.ConvertFromString("#FFF35958"), Color)), .PercentA = 12}) End Sub