private void CreateTargetBinding(object target)
{
this._targetBinding = this.TargetBindingFactory.CreateBinding(target, this._bindingDescription.TargetName);
if (this._targetBinding == null)
{
MvxBindingTrace.Trace(MvxTraceLevel.Warning, "Failed to create target binding for {0}", this._bindingDescription.ToString());
this._targetBinding = new MvxNullTargetBinding();
}
if (this.NeedToObserveTargetChanges)
{
this._targetBinding.SubscribeToEvents();
this._targetBindingOnValueChanged = (sender, args) => this.UpdateSourceFromTarget(args.Value);
this._targetBinding.ValueChanged += this._targetBindingOnValueChanged;
}
this._defaultTargetValue = this._targetBinding.TargetType.CreateDefault();
}