It's perhaps as WPF and XAML try to achieve more then JS. I guess it is also as they want put as much as possible into XAML. You could alsways do it in code behind by using different classes and methods.