Beispiel #1
0
        public async Task RegisterTransitionEndedAsync(ElementReference elementRef, Func <TransitionEventArgs, Task> onEndedCallback, string transitionPropertyName = "")
        {
            await CheckJsObjectAsync();

            var info      = new TransitionEventInfo(elementRef, onEndedCallback, transitionPropertyName);
            var dotnetRef = DotNetObjectReference.Create <TransitionEventInfo>(info);

            _dotNetObjectReferences.Add(dotnetRef);
            await _transitionJs.InvokeVoidAsync("addTransitionEnd", elementRef, dotnetRef, transitionPropertyName);
        }
Beispiel #2
0
        public async Task RegisterTransitionsWhenAllEndedAsync(Func <TransitionEventArgs[], Task> onEndedCallback, params KeyValuePair <ElementReference, string>[] elementRefsWithProperties)
        {
            await CheckJsObjectAsync();

            var collection = new TransitionCollectionInfo(onEndedCallback);

            foreach (var item in elementRefsWithProperties)
            {
                var info = new TransitionEventInfo(item.Key, collection.WhenAllFinished, item.Value);
                collection.Add(info);
                var dotnetRef = DotNetObjectReference.Create <TransitionEventInfo>(info);

                _dotNetObjectReferences.Add(dotnetRef);
                await _transitionJs.InvokeVoidAsync("addTransitionEnd", item.Key, dotnetRef, item.Value);
            }
        }