Comment puis-je faire apparaître la bulle d'information de vol stationnaire sur mouseover dans WPF?

voix
9

Je veux faire bulle de texte apparaît lorsque la souris est sur une TextBlock .

Le code suivant est le plus proche que je peux obtenir , mais il injecte juste le texte dans TextBox.Text lui - même et change la couleur. Je veux avoir un exemple Border / StackPanel / TextBlock au- dessus du textblock d' origine flottant sur une autre couche pendant mouseover.

Comment puis - je faire un panneau de vol stationnaire semblable à une expérience Web avec le tag acronyme ?

using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;

namespace TestHover29282
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            TextBlock tb = new TextBlock();
            tb.Text = test;

            tb.MouseEnter += new MouseEventHandler(tb_MouseEnter);
            tb.MouseLeave += new MouseEventHandler(tb_MouseLeave);

            MainStackPanel.Children.Add(tb); 
        }

        void tb_MouseLeave(object sender, MouseEventArgs e)
        {
            TextBlock tb = sender as TextBlock;
            tb.Background = new SolidColorBrush(Colors.Transparent);
            tb.Text = test;
        }

        void tb_MouseEnter(object sender, MouseEventArgs e)
        {
            TextBlock tb = sender as TextBlock;
            tb.Background = new SolidColorBrush(Colors.Orange);
            tb.Text +=  - this should be in a popup bubble.;
        }

    }
}
Créé 03/12/2009 à 19:13
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
36

deux façons dont vous pouvez le faire, on utilise un outil de pointe avec un style personnalisé. alternativly, vous pouvez utiliser un contrôle pop-up, une troisième option serait d'utiliser un Adorner.

Mon instinct vous dit que vous voulez une info - bulle , tho.

<TextBlock ToolTip="stuff, could even be a custom control, etc" Text="my text" />

vous pouvez ensuite utiliser les ToolTipService propriétés saisissables pour définir une variété d'options pour ledit infobulle, des retards aux postes de infobulle

Créé 03/12/2009 à 19:18
source utilisateur

Créé 03/12/2009 à 19:16
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more