2009-07-17 1 views
1

В моем XAML-коде я привязал свойство Height элемента управления к ActualHeight для его родительского элемента управления. Потому что мне нужно рассчитать смещение от исходного значения, которое я использую, и IValueConverter.WPF: привязка управления - триггер IValueConverter от кода C#

Height="{Binding ElementName=MainCanvas, Path=ActualHeight, Converter={StaticResource adjustVerteilung} , ConverterParameter= 12}" 

Это работает до сих пор.

После некоторого события формула внутри ValueConverter изменяется и генерирует другой выход. Но элементы управления обновляются и выравниваются после изменения размера окна. Есть ли способ передать управление (из кода C#), чтобы обновить себя и получить новое значение от ValueConverter?

ответ

1

Если вы добавили UpdateSourceTrigger = PropertyChanged в свою привязку, он должен переустановить значение, как только изменяется фактическая высота, а не после изменения размера окна и обновления привязки MainCanvas.

0

Я думаю, что вы хотите изменить значение, даже если ActualHeight не изменяется. Функция AFAIK ValueConverter - , а не, предназначенная для этого.

Вы должны попробовать что-то другое. Если на самом деле это наблюдаемая высота, которую вы хотите обновить, когда происходит ваше «какое-то событие», возможно, вы можете попробовать создать пользовательскую панель, чье «некоторое свойство» каким-то образом связано с вашим событием. Затем, когда происходит «какое-то событие», вы можете изменить наблюдаемую высоту элемента управления (ов), лежащего внутри панели.

 Смежные вопросы

  • Нет связанных вопросов^_^