Arrow anti pattern with crutch
If ServiceLocator.Current.GetInstance&lt;MultiViewModel&gt;().EightBoxesCommandIsEnabled evaluates to true you never do anything; so hoist it out of the if statements and do an early return:

public void Resize(SizeChangedEventArgs input)

    if(ServiceLocator.Current.GetInstance&lt;MultiViewModel&gt;().EightBoxesCommandIsEnabled) 
        return;

    if (input.NewSize.Width &lt; 450 &amp;&amp; Crutch)
    {
        ChangeToSmall(2, 2);
    }
    //...
}


You can name crutch into something better that describes what it represents. Or keep whether ChangeToSmall or ChangeToBig was called last and replace crutch with that property.

void ChangeToBig(int, int){
    lastChangeCalledBig = true;

    //...
}

void ChangeToSmall(int, int){
    lastChangeCalledBig = false;

    //...
}