@@ -348,8 +348,8 @@ The [IconTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Tools.C
348348 </Window.Resources>
349349 <Grid>
350350 <StackPanel VerticalAlignment="Center">
351- <CheckBox Name="Check" IsChecked="{Binding IsChecked}" Checked="Check_Checked" Unchecked="Check_Unchecked" HorizontalAlignment="Center" Content="ChangeIcon"/>
352- <syncfusion:ButtonAdv x:Name="button" HorizontalAlignment="Center" Margin="10" Content="{Binding IsChecked}" Label="IconTemplateSelector" IconTemplateSelector="{StaticResource IconTemp}"/>
351+ <CheckBox Name="Check" IsChecked="{Binding IsChecked,Mode=TwoWay}" HorizontalAlignment="Center" Content="ChangeIcon"/>
352+ <syncfusion:ButtonAdv x:Name="button" HorizontalAlignment="Center" Margin="10" Content="{Binding IsChecked}" Label="IconTemplateSelector" IconTemplateSelector="{StaticResource IconTemp}" DataContext="{Binding IsChecked}" />
353353 </StackPanel>
354354 </Grid>
355355 </Window >
@@ -358,66 +358,18 @@ The [IconTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Tools.C
358358
359359 {% highlight c# %}
360360
361- public partial class MainWindow : Window
362- {
363- public MainWindow()
364- {
365- InitializeComponent();
366- }
367-
368- private void Check_Unchecked(object sender, RoutedEventArgs e)
369- {
370- SetIconTemplateSelector();
371- }
372-
373- private void Check_Checked(object sender, RoutedEventArgs e)
374- {
375- SetIconTemplateSelector();
376- }
377-
378- private void SetIconTemplateSelector()
379- {
380- var templateSelector = new IconTemplateSelector
381- {
382- CheckedIcon = (DataTemplate)this.Resources["CheckedIcon"],
383- UnCheckedIcon = (DataTemplate)this.Resources["UnCheckedIcon"]
384- };
385- button.IconTemplateSelector = templateSelector;
386- }
387- }
388-
389- public class Model
390- {
391- private bool _isChecked;
392- public bool IsChecked
393- {
394- get { return _isChecked; }
395- set
396- {
397- if (_isChecked != value)
398- {
399- _isChecked = value;
400- }
401- }
402- }
403- }
404-
405361 public class ViewModel : INotifyPropertyChanged
406362 {
407- private Model _model ;
363+ private bool _isChecked ;
408364 public event PropertyChangedEventHandler PropertyChanged;
409- public ViewModel()
410- {
411- _model = new Model();
412- }
413365 public bool IsChecked
414366 {
415- get => _model.IsChecked;
367+ get { return _isChecked; }
416368 set
417369 {
418- if (_model.IsChecked != value)
370+ if (_isChecked != value)
419371 {
420- _model.IsChecked = value;
372+ _isChecked = value;
421373 OnPropertyChanged(nameof(IsChecked));
422374 }
423375 }
@@ -433,9 +385,9 @@ The [IconTemplate](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Tools.C
433385 public DataTemplate UnCheckedIcon { get; set; }
434386 public override DataTemplate SelectTemplate(object item, DependencyObject container)
435387 {
436- if (item is Model model )
388+ if (item is bool isChecked )
437389 {
438- return model.IsChecked ? CheckedIcon : UnCheckedIcon;
390+ return isChecked ? CheckedIcon : UnCheckedIcon;
439391 }
440392 return base.SelectTemplate(item, container);
441393 }
0 commit comments