Как привязать фон колонки в silverlight во время выполнения? - PullRequest
0 голосов
/ 20 января 2011

У меня есть сетка с кучей столбцов в нем.Начать с этой сетки - это сборка во время выполнения в коде и не так много кода в XAML, за исключением общей сетки, поэтому я не могу связать фон столбца во время разработки.Я читал различные блоги, вопросы и нашел следующее в качестве ближайшего ответа.

SolidColorBrush backgroundBrush = new SolidColorBrush();
Binding b = new Binding("BackGroundColor");
b.Converter = new ColorConverterForReadOnly(); //This converter return color based on parameter
b.ConverterParameter = data;
BindingOperations.SetBinding(backgroundBrush, SolidColorBrush.ColorProperty, b);
column.Background = backgroundBrush;

Когда я запустил код, привязка не произошла, я поставил точку останова (в первой строке) внутриконвертер, чтобы увидеть, попала ли отладка в конвертер вообще, а конвертер вообще не попал.Если бы я поставил

column.Background = new SolidColorBrush(Colors.Blue)

, я мог бы видеть цвета столбца, установленные на синий.

Чего мне не хватает в привязке, которая не позволяет преобразователю вызываться?

Спасибо,

1 Ответ

0 голосов
/ 20 января 2011

Привязка ориентирована на свойство «BackGroundColor».Чтобы привязка была нажата, DataContext элемента управления столбца должен быть объектом, обладающим свойством BackGroundColor.

...