SetBinding to custom dependency properties is not updated after the initial update
See the question and my original answer on StackOverflowThe problem is your Background2 => Background binding is wrong. You must declare it like this instead:
SetBinding(BackgroundProperty, new Binding
{
Source = this,
Path = new PropertyPath(nameof(Background2)),
Mode = BindingMode.OneWay,
});