Exemple #1
0
        internal override void Apply(bool fromTarget)
        {
            base.Apply(fromTarget);

            if (_expression == null)
            {
                _expression = new BindingExpression(this, SelfPath);
            }

            _expression.Apply(fromTarget);
        }
			public void PropertyChanged(object sender, PropertyChangedEventArgs args)
			{
				BindingExpressionPart part = NextPart ?? this;

				string name = args.PropertyName;

				if (!string.IsNullOrEmpty(name))
				{
					if (part.IsIndexer)
					{
						if (name.Contains("["))
						{
							if (name != string.Format("{0}[{1}]", part.IndexerName, part.Content))
								return;
						}
						else if (name != part.IndexerName)
							return;
					}
					else if (name != part.Content)
					{
						return;
					}
				}

				Device.BeginInvokeOnMainThread(() => _expression.Apply());
			}
Exemple #3
0
        void ApplyInner(Element templatedParent, BindableObject bindableObject, BindableProperty targetProperty)
        {
            if (_expression == null && templatedParent != null)
            {
                _expression = new BindingExpression(this, SelfPath);
            }

            _expression?.Apply(templatedParent, bindableObject, targetProperty);
        }