|
|
@@ -35,12 +35,14 @@ internal class BrushSettingViewModel : Setting<BrushViewModel>
|
|
|
{
|
|
|
Dispatcher.UIThread.Post(() =>
|
|
|
{
|
|
|
- viewModels = new ObservableCollection<BrushViewModel>(Library.Brushes.Values.Select(b => new BrushViewModel(b)));
|
|
|
+ viewModels =
|
|
|
+ new ObservableCollection<BrushViewModel>(Library.Brushes.Values.Select(b => new BrushViewModel(b)));
|
|
|
OnPropertyChanged(nameof(AllBrushes));
|
|
|
});
|
|
|
};
|
|
|
|
|
|
- viewModels = new ObservableCollection<BrushViewModel>(Library.Brushes.Values.Select(b => new BrushViewModel(b)));
|
|
|
+ viewModels =
|
|
|
+ new ObservableCollection<BrushViewModel>(Library.Brushes.Values.Select(b => new BrushViewModel(b)));
|
|
|
OnPropertyChanged(nameof(AllBrushes));
|
|
|
}
|
|
|
|
|
|
@@ -48,11 +50,29 @@ internal class BrushSettingViewModel : Setting<BrushViewModel>
|
|
|
{
|
|
|
if (value is string str)
|
|
|
{
|
|
|
+ var foundVm = viewModels.FirstOrDefault(b => b.Name == str);
|
|
|
+ if (foundVm != null)
|
|
|
+ return foundVm;
|
|
|
+
|
|
|
var found = Library.Brushes.Values.FirstOrDefault(b => b.Name == str);
|
|
|
if (found != null)
|
|
|
- return new BrushViewModel(found);
|
|
|
+ {
|
|
|
+ var vm = new BrushViewModel(found);
|
|
|
+ viewModels.Add(vm);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(viewModels.Count > 0)
|
|
|
+ return viewModels[0];
|
|
|
+
|
|
|
+ var firstFromLib = Library.Brushes.Values.FirstOrDefault();
|
|
|
+ if (firstFromLib != null)
|
|
|
+ {
|
|
|
+ var vm = new BrushViewModel(firstFromLib);
|
|
|
+ viewModels.Add(vm);
|
|
|
+ return vm;
|
|
|
+ }
|
|
|
|
|
|
- return new BrushViewModel(Library.Brushes.First().Value);
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
return base.AdjustValue(value);
|