示例#1
0
        private static void OnFindInfoCard(object sender, FindInfoCardEventArgs e)
        {
            if (e.TargetElement != null)
            {
                return;
            }

            var obj = sender as DependencyObject;

            if (obj == null)
            {
                return;
            }

            if (Current.StopLookingForInfoCard(obj))
            {
                e.Handled           = true;
                e.KeepCurrentActive = true;
            }
            else if (InfoCardIsEnabled(obj))
            {
                e.TargetElement = obj;
                e.Handled       = true;
            }
        }
示例#2
0
        private static bool LocateNearestInfoCard(ref DependencyObject obj)
        {
            var element = obj as IInputElement;

            if (element != null)
            {
                var e = new FindInfoCardEventArgs();
                element.RaiseEvent(e);
                if (e.TargetElement != null)
                {
                    obj = e.TargetElement;
                    return(true);
                }
                if (e.KeepCurrentActive)
                {
                    obj = null;
                    return(true);
                }
            }
            return(false);
        }