Exemplo n.º 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ControllerCollection{TElement}"/> class
 /// with the specified <see cref="IDataContextFinder{TElement}"/>, <see cref="IDataContextInjector"/>,
 /// <see cref="IElementInjector{TElement}"/>, and the enumerable of the <see cref="IControllerExtension{TElement}"/>.
 /// </summary>
 /// <param name="dataContextFinder">The finder to find a data context.</param>
 /// <param name="dataContextInjector">The injector to inject a data context.</param>
 /// <param name="elementInjector">The injector to inject elements.</param>
 /// <param name="extensions">The extensions for a controller.</param>
 protected ControllerCollection(IDataContextFinder <TElement> dataContextFinder, IDataContextInjector dataContextInjector, IElementInjector <TElement> elementInjector, IEnumerable <IControllerExtension <TElement> > extensions)
 {
     this.dataContextFinder   = dataContextFinder;
     this.dataContextInjector = dataContextInjector;
     this.elementInjector     = elementInjector;
     this.extensions          = extensions;
 }
Exemplo n.º 2
0
    /// <summary>
    /// Initializes a new instance of the <see cref="ControllerTypeFinder{TElement}"/> class
    /// with the specified finder to find a data context in the view.
    /// </summary>
    /// <param name="elementKeyFinder">The finder to find a key of the view.</param>
    /// <param name="dataContextFinder">The finder to find a data context in the view.</param>
    protected ControllerTypeFinder(IElementKeyFinder <TElement> elementKeyFinder, IDataContextFinder <TElement> dataContextFinder)
    {
        KeyFilter = (key, element) =>
        {
            if (key is null)
            {
                return(true);
            }

            var elementKey = elementKeyFinder.FindKey(element);
            return(elementKey is null?IsKeyDataContextType(key, dataContextFinder.Find(element)?.GetType()) : Equals(key, elementKey));
        };
    }
Exemplo n.º 3
0
 public ControllerCollectionTss(IDataContextFinder <TestElement> dataContextFinder, IDataContextInjector dataContextInjector, IElementInjector <TestElement> elementInjector, IEnumerable <IControllerExtension <TestElement> > extensions) : base(dataContextFinder, dataContextInjector, elementInjector, extensions)
 {
 }
Exemplo n.º 4
0
 public ControllerTypeFinderTss(IElementKeyFinder <TestElement> elementKeyFinder, IDataContextFinder <TestElement> dataContextFinder) : base(elementKeyFinder, dataContextFinder)
 {
 }
 public AvaloniaControllerTypeFinder(IElementKeyFinder <StyledElement> elementKeyFinder, IDataContextFinder <StyledElement> dataContextFinder) : base(elementKeyFinder, dataContextFinder)
 {
 }