18/05/06 18:14:56.23 Z7mEypo0.net
>>185-187で自分の検索の不十分さを反省して以前から抱えていた別の問題も改めて検索してみたのですが、
やはり私の力ではどうしようもありませんでした。
立て続けに申し訳ないのですが、こちらについてもお力を貸していただけないでしょうか。
以下のような Binding のマークアップ拡張を作成したところ、
Mode が TwoWay のときは期待通りに動作するものの、
Mode が OneWay だと正しくバインディングできずに困っています。
class MyBindingExtension : MarkupExtension
{
public PropertyPath Path { get; set; }
public BindingMode Mode { get; set; }
public override object ProvideValue(IServiceProvider serviceProvider)
{
var service= (IProvideValueTarget)serviceProvider.GetService(typeof(IProvideValueTarget));
var target = (DependencyObject)service.TargetObject;
var dp = (DependencyProperty)service.TargetProperty;
BindingOperations.SetBinding(target, dp, new Binding { Path = Path, Mode = Mode });
return target.GetValue(dp);
}
}
(続く)