Example #1
0
 /// <summary>
 /// Fires 'positions changed starting inside this element' event on the main thread context
 /// </summary>
 /// <param name="element">Element</param>
 internal void FireOnPositionsOnlyChanged()
 {
     Check.InvalidOperation(() => Thread.CurrentThread.ManagedThreadId == _ownerThread, _threadCheckMessage);
     try {
         PositionsOnlyChanged?.Invoke(this, new TreePositionsOnlyChangedEventArgs());
     } catch (Exception ex) {
         Debug.Assert(false, Invariant($"Exception thrown in a tree.PositionsOnlyChanged event handler: {ex.Message}"));
     }
 }
Example #2
0
        /// <summary>
        /// Fires 'positions changed starting inside this element' event on the main thread context
        /// </summary>
        /// <param name="element">Element</param>
        internal void FireOnPositionsOnlyChanged()
        {
            if (_ownerThread != Thread.CurrentThread.ManagedThreadId)
            {
                Debug.Fail(_threadContextInvalidMessage);
                return;
            }

            try {
                PositionsOnlyChanged?.Invoke(this, new TreePositionsOnlyChangedEventArgs());
            } catch (Exception ex) {
                Debug.Assert(false, Invariant($"Exception thrown in a tree.PositionsOnlyChanged event handler: {ex.Message}"));
            }
        }