private static void UpdateStatusBar(object sender)
        {
            IInputElement    inputElement     = (IInputElement)sender;
            DependencyObject dependencyObject = (DependencyObject)sender;
            Uri targetUri = (Uri)dependencyObject.GetValue(Hyperlink.GetNavigateUriProperty(inputElement));

            Hyperlink.s_criticalNavigateUriProtectee.Value = new int?(dependencyObject.GetHashCode());
            Hyperlink.CacheNavigateUri(dependencyObject, targetUri);
            RequestSetStatusBarEventArgs e = new RequestSetStatusBarEventArgs(targetUri);

            inputElement.RaiseEvent(e);
        }
Esempio n. 2
0
        /// <summary>
        /// Updates the status bar to reflect the current NavigateUri.
        /// </summary>
        private static void UpdateStatusBar(object sender)
        {
            IInputElement    element = (IInputElement)sender;
            DependencyObject dObject = (DependencyObject)sender;

            Uri targetUri = (Uri)dObject.GetValue(GetNavigateUriProperty(element));

            //
            // Keep the identification code for the element that's to be protected against spoofing
            // attacks because its URI is shown on the status bar.
            //
            s_criticalNavigateUriProtectee.Value = dObject.GetHashCode();

            //
            // Cache URI for spoofing countermeasures.
            //
            CacheNavigateUri(dObject, targetUri);

            RequestSetStatusBarEventArgs args = new RequestSetStatusBarEventArgs(targetUri);

            element.RaiseEvent(args);
        }