в лучшем мире может быть

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

Width="{Binding ActualWidthValue, Source={StaticResource VisibleSize}, Converter={StaticResource Fraction}}"

Преобразователь «Дробь» получает (или должен получать) параметр типа System.Size, который содержит числитель и денумератор. Это значение (должно) зависит от ItemCollection.Count. Сброс ItemCollection должен повторно вызвать конвертер с новыми значениями.

Моей первой идеей было вручную изменить ConverterParameter в CodeBehind для события PropertyChanged моего ItemCollection DependencyProperty. Но, как я теперь знаю, в Silverlight нет метода GetBinding (). Я слышал о GetBindingExpression и пытался сделать. Но MyGrid.GetBindingExpression (Grid.ActualHeightProperty) всегда возвращает ноль, хотя привязка уже установлена.

Итак, что я могу сделать, чтобы достичь своей цели?

Моя реализация не сильно отличалась. Я устанавливаю ConverterParameter в CodeBehind непосредственно перед тем, как конвертер вызывается через Binding. Это не сработало (параметр по-прежнему содержит значение инициализации).

Я постараюсь использовать ваше предложение. Но почему ConverterParameter не может быть DependencyPropery. Что за идея стоит за этим? Кто-нибудь знает?

Ответы на вопрос(1)

Ваш ответ на вопрос