2

Я ищу эквивалент SL4 для .NET 4's SetCurrentValue API, который, казалось бы, был именно тем, что мне нужно для моего сценария.Silverlight DependencyProperty.SetCurrentValue Equivalent

Вкратце, я пишу прикрепленное поведение, которое обновляет значение данного свойства в соответствующие моменты времени. Однако я не хочу, чтобы он переписывал любые привязки, установленные для этого свойства зависимостей. Я просто хочу подтолкнуть это значение к свойству (и, следовательно, обновить привязки на основе этого значения).

Из того, что я могу сказать, в SL4 нет простого способа сделать это.

Благодаря

ответ

2

Silverlight не обеспечивает прямой доступ к этому уровню стоимости зависимостей. Однако этот уровень ценности, который Анимации в раскадровки устанавливают, когда они манипулируют свойством.

Следовательно, Раскадровка с длиной 0 длин, содержащая один DiscreteObjectKeyFrame, может достичь желаемого результата.

+1

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

1

Мне удалось смоделировать то, что мне нужно, обнаружив привязки и введя суррогатный объект между источником и целью. Затем я могу манипулировать суррогатом и иметь обе стороны исходного обновления привязки.

Это уродливое и больше работы, чем хотелось бы, но, похоже, это работает.

Kent

+1

Не могли бы вы поделиться примером своего решения? – jpierson

+0

@ KentBoogaart вы можете помочь с этим? Мне нужно SetCurrentValue в Silverlight/WPF код кросс-платформу http://stackoverflow.com/questions/13181788/wpf-dependency-property-precedence-reference-type-default-values#comment17945942_13181788 –