public static StageVmStyle Standard( int order, bool oddStep, int sectionCount, SwitchUseWrap maxSwitchUseInSorter) { return(new StageVmStyle { KeyLineBrush = Brushes.Blue, SwitchBrushNotUsed = Brushes.Black, SwitchBrushInUse = Brushes.Pink, SwitchBrushWasUsed = maxSwitchUseInSorter.ToSwitchBrushFunc(), SwitchLineWidth = 1.0, KeyLineThickness = 1.0, BackgroundBrush = oddStep ? Brushes.Lavender : Brushes.White, SortableVmStyle = SortableVmStyle.Standard(order, sectionCount) }); }
public static Func <int, Brush> ToSwitchBrushFunc(this SwitchUseWrap maxUseCount) { return(useCount => { if (useCount == 0) { return Brushes.Black; } if (maxUseCount.Value < 1) { return SwitchBrushes[SwitchBrushes.Count - 1]; } var step = (colorSteps * useCount) / maxUseCount.Value; if (step > colorSteps - 1) { step = colorSteps - 1; } // Debug.WriteLine($"maxUseCount:{maxUseCount.Value} useCount:{useCount} step:{step}"); return SwitchBrushes[(int)step]; }); }
public static Func <int, Brush> ToSwitchBrushFunc0(this SwitchUseWrap maxUseCount) { return(useCount => (useCount < maxUseCount.Value) ? Brushes.Blue : Brushes.GreenYellow); }