checking is ellipse is filled or not
you could change the helper method to use switch if you're using C# 7.0 or higher then you can do this :
switch(PinNumber)
{
    case 1 when valueList.Count == 0:           
    case 2 when valueList.Count == 0 || valueList.Count == 1:
    case 3 when valueList.Count == 3 || valueList.Count == 4:
    case 4 valueList.Count == 4:
        return value;
    default: 
        return Brush.Transparent;
}

if not, then you can focus on readability by doing something like this :
var isPin1 = PinNumber == 1 &amp;&amp; valueList.Count != 0; 
var isPin2 = PinNumber == 2 &amp;&amp; valueList.Count == 0 || valueList.Count == 1; 
var isPin3 = PinNumber == 3 &amp;&amp; valueList.Count == 3 || valueList.Count == 4; 
var isPin4 = PinNumber == 4 &amp;&amp; valueList.Count == 4;

return isPin1 || isPin2 || isPin3 || isPin4 ? value : Brush.Transparent;