Вопрос

Ребята, я что-то упускаю из виду.Это продолжает поднимать голову, и я не знаю, что с этим происходит, поэтому надеюсь, что мои домашние смогут помочь.

Когда я работаю в Silverlight и создаю привязки в своем коде C#, они никогда не сохраняются во время работы приложения.Декларативные привязки из моего xaml кажутся нормальными, но я делаю что-то не так, когда создаю привязки на C#.Я надеюсь, что есть что-то совершенно очевидное, что я упускаю.Вот типичная привязка, которая разбивается:

TextBlock tb = new TextBlock();
Binding b = new Binding("FontSize");
b.Source = this;
tb.SetBinding(TextBlock.FontSizeProperty, b);
Это было полезно?

Решение 2

Похоже, по крайней мере, начиная с Silverlight 3.1, это больше не проблема.Во всяком случае, я не могу это воспроизвести.

Другие советы

Я только что попробовал именно тот код, который вы только что опубликовали, и он работал нормально, с некоторыми изменениями.Я считаю, что проблема в том, что элемент, который вы используете для вызова SetBinding, не является текстовым блоком, который вы хотите связать.Должен быть:

TextBlock tb = new TextBlock();
Binding b = new Binding("FontSize");
b.Source = this;
tb.SetBinding(TextBlock.FontSizeProperty, b);

Убедитесь, что у вас также есть общедоступное свойство FontSize типа double в «this».Если «это» является пользовательским элементом управления, я бы рекомендовал переименовать свойство, чтобы не скрывать унаследованный элемент.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top