Я столкнулся с той же проблемой с UserControl в Silverlight 5.
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
base.OnMouseLeftButtonDown(e);
Background = new SolidColorBrush(Colors.Black); //nothing
}
Но если я назову основную сетку сетки и запишу следующий код:
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
base.OnMouseLeftButtonDown(e);
grid.Background = new SolidColorBrush(Colors.Black); //ok
}
Работает, не знаю почему. Когда мне нужно использовать некоторые сложные эффекты непрозрачности, может быть, мне нужны дополнительные прямоугольники и установить их Fill. Это немного неудобно.