public object ProvideValue(MarkupExtensionContext markupExtensionContext) { var type = markupExtensionContext.TypeRepository.GetByType(typeof(ResourceDictionary)); var resourceDictionary = (ResourceDictionary)markupExtensionContext.TopDownValueContext.GetLastInstance(type); return(resourceDictionary[ResourceKey]); }
/// <summary> /// Если str начинается с одинарной открывающей фигурной скобки, то метод обрабатывает его /// как вызов расширения разметки, и возвращает результат, или выбрасывает исключение, /// если при парсинге или выполнении возникли ошибки. Если же str начинается c комбинации /// {}, то остаток строки возвращается просто строкой. /// </summary> private Object processText(String text, String currentProperty, object currentObject, object dataContext) { if (String.IsNullOrEmpty(text)) { return(String.Empty); } if (text[0] != '{') { // interpret whole text as string return(text); } else if (text.Length > 1 && text[1] == '}') { // interpret the rest as string return(text.Length > 2 ? text.Substring(2) : String.Empty); } else { MarkupExtensionsParser markupExtensionsParser = new MarkupExtensionsParser( new MarkupExtensionsResolver(this), text); MarkupExtensionContext context = new MarkupExtensionContext( this, text, currentProperty, currentObject, dataContext); object providedValue = markupExtensionsParser.ProcessMarkupExtension(context); if (providedValue is IFixupToken) { fixupTokens.Add(( FixupToken )providedValue); // Null means no value will be assigned to target property return(null); } return(providedValue); } }
public override object ProvideValue(MarkupExtensionContext extensionContext) { return(new RelativeSource { Mode = Mode, }); }
public override object ProvideValue(MarkupExtensionContext markupExtensionContext) { var typeRepository = markupExtensionContext.TypeRepository; var typeAndMember = GetTypeAndMember(Identifier); var prefixAndType = GetPrefixAndType(typeAndMember.Item1); var xamlType = typeRepository.GetByPrefix(prefixAndType.Item1, prefixAndType.Item2); return(GetValue(xamlType.UnderlyingType, typeAndMember.Item2)); }
public override object ProvideValue(MarkupExtensionContext extensionContext) { return(new Binding { Converter = Converter, Mode = Mode, SourcePropertyPath = Path, }); }
public override object ProvideValue(MarkupExtensionContext markupExtensionContext) { if (Type != null) { return(Type); } return(ResolveFromString(TypeName, markupExtensionContext.ValueContext.TypeRepository)); }
public override object ProvideValue(MarkupExtensionContext extensionContext) { return(new Binding { Converter = Converter, ElementName = ElementName, Mode = Mode, Path = Path, }); }
private MarkupExtensionContext GetExtensionContext() { var inflationContext = new MarkupExtensionContext { TargetObject = Previous.Instance, TargetProperty = Previous.Instance.GetType().GetRuntimeProperty(Previous.Member.Name), ValueContext = ValueContext, }; return(inflationContext); }
public override object ProvideValue(MarkupExtensionContext extensionContext) { return(new Data.Binding { Converter = Converter, Mode = Mode, Priority = BindingPriority.TemplatedParent, RelativeSource = new RelativeSource(RelativeSourceMode.TemplatedParent), SourcePropertyPath = Path, }); }
public override object ProvideValue(MarkupExtensionContext extensionContext) { return(new Binding { Converter = Converter, ElementName = ElementName, Mode = Mode, RelativeSource = new RelativeSource(RelativeSourceMode.TemplatedParent), Path = Path, Priority = Priority, }); }
private MarkupExtensionContext GetExtensionContext() { var inflationContext = new MarkupExtensionContext { TargetObject = Previous.Instance, TargetProperty = Previous.Instance.GetType().GetRuntimeProperty(Previous.XamlMember.Name), TypeRepository = ValuePipeline.TypeRepository, TopDownValueContext = topDownValueContext }; return(inflationContext); }
public override object ProvideValue(MarkupExtensionContext extensionContext) { return(new Binding { Converter = Converter, ConverterParameter = ConverterParameter, ElementName = ElementName, FallbackValue = FallbackValue, Mode = Mode, Path = Path, Priority = Priority, }); }
public override object ProvideValue(MarkupExtensionContext extensionContext) { var target = extensionContext.TargetObject as Control; var targetProperty = extensionContext.TargetProperty; var targetPropertyName = targetProperty.Name; var perspexProperty = target.GetRegisteredProperties().First(property => property.Name == targetPropertyName); return(new XamlBindingDefinition ( target, perspexProperty, new PropertyPath(Path), Mode == BindingMode.Default ? BindingMode.OneWay : Mode )); }
public override object ProvideValue(MarkupExtensionContext markupExtensionContext) { if (Number != 0) { return(Number); } if (Option != null) { return(Option); } if (Property != null) { return(Property); } return("Text From Markup Extension"); }
public override object ProvideValue(MarkupExtensionContext markupExtensionContext) { if (Number != 0) { return Number; } if (Option != null) { return Option; } if (Property != null) { return Property; } return "Text From Markup Extension"; }
private void processFixupTokens( ) { // Выполнить поиск fixup tokens, желания которых удовлетворены, // и вызвать расширения разметки для них снова List <FixupToken> tokens = new List <FixupToken>(fixupTokens); fixupTokens.Clear( ); foreach (FixupToken token in tokens) { if (token.Ids.All(id => objectsById.ContainsKey(id))) { MarkupExtensionsParser markupExtensionsParser = new MarkupExtensionsParser( new MarkupExtensionsResolver(this), token.Expression); MarkupExtensionContext context = new MarkupExtensionContext( this, token.Expression, token.PropertyName, token.Object, token.DataContext); object providedValue = markupExtensionsParser.ProcessMarkupExtension(context); if (providedValue is IFixupToken) { fixupTokens.Add(( FixupToken )providedValue); } else { // assign providedValue to property of object if (null != providedValue) { PropertyInfo propertyInfo = token.Object.GetType( ).GetProperty( token.PropertyName); object convertedValue = ConvertValueIfNeed(providedValue.GetType(), propertyInfo.PropertyType, providedValue); //propertyInfo.SetValue(token.Object, convertedValue, null); propertyInfo.GetSetMethod().Invoke(token.Object, new [] { convertedValue }); } } } else { fixupTokens.Add(token); } } }
public override object ProvideValue(MarkupExtensionContext extensionContext) { return(new StyleResourceBinding(this.Name)); }
private MarkupExtensionContext GetExtensionContext() { var inflationContext = new MarkupExtensionContext { TargetObject = Previous.Instance, TargetProperty = Previous.Instance.GetType().GetRuntimeProperty(Previous.Member.Name), ValueContext = ValueContext, }; return inflationContext; }
public object ProvideValue(MarkupExtensionContext markupExtensionContext) { return null; }
public object ProvideValue(MarkupExtensionContext markupExtensionContext) { return(null); }
public override object ProvideValue(MarkupExtensionContext markupExtensionContext) => null;
private MarkupExtensionContext GetExtensionContext(StateBag stateBag) { var inflationContext = new MarkupExtensionContext { TargetObject = stateBag.Parent.Instance, TargetProperty = stateBag.Parent.Instance.GetType().GetRuntimeProperty(stateBag.Parent.Property.Name), TypeRepository = this.XamlTypeRepository, }; return inflationContext; }
public object ProvideValue(MarkupExtensionContext markupExtensionContext) { var type = markupExtensionContext.ValueContext.TypeRepository.GetByType(typeof (ResourceDictionary)); var resourceDictionary = (ResourceDictionary) markupExtensionContext.ValueContext.TopDownValueContext.GetLastInstance(type); return resourceDictionary[ResourceKey]; }
public override object ProvideValue(MarkupExtensionContext markupExtensionContext) { return "Text From Markup Extension"; }
public object ProvideValue(MarkupExtensionContext markupExtensionContext) { var provideValue = ProvideValue(new ServiceLocator(markupExtensionContext)); return provideValue; }
public override object ProvideValue(MarkupExtensionContext markupExtensionContext) { return Number; }
public abstract object ProvideValue(MarkupExtensionContext markupExtensionContext);
public object ProvideValue(MarkupExtensionContext markupExtensionContext) { var provideValue = base.ProvideValue(new ServiceLocator(markupExtensionContext)); return(provideValue); }
public override object ProvideValue(MarkupExtensionContext extensionContext) { return(new XamlBindingDefinition(Path, Mode)); }
public WpfServiceLocator(MarkupExtensionContext markupExtensionContext) { this.markupExtensionContext = markupExtensionContext; }
private MarkupExtensionContext GetExtensionContext() { var inflationContext = new MarkupExtensionContext { TargetObject = Previous.Instance, TargetProperty = Previous.Instance.GetType().GetRuntimeProperty(Previous.XamlMember.Name), TypeRepository = ValuePipeline.TypeRepository, TopDownValueContext = topDownValueContext }; return inflationContext; }
public ServiceLocator(MarkupExtensionContext markupExtensionContext) { this.markupExtensionContext = markupExtensionContext; }
public override object ProvideValue(MarkupExtensionContext markupExtensionContext) { return(point); }
public object ProvideValue(MarkupExtensionContext markupExtensionContext) { var type = markupExtensionContext.TypeRepository.GetXamlType(typeof (ResourceDictionary)); var resourceDictionary = (ResourceDictionary) markupExtensionContext.TopDownMemberValueContext.GetMemberValue(type); return resourceDictionary[ResourceKey]; }
public override object ProvideValue(MarkupExtensionContext markupExtensionContext) { return("Text From Markup Extension"); }
public object ProvideValue(MarkupExtensionContext markupExtensionContext) { return ProvideValue(new WpfServiceLocator(markupExtensionContext)); }