2009-12-03 65 views
8

Tôi muốn tạo một bong bóng văn bản xuất hiện khi chuột vượt quá TextBlock.Làm cách nào để tạo bong bóng thông tin di chuột xuất hiện khi di chuột qua trong WPF?

mã sau đây là gần nhất tôi có thể nhận được nhưng nó chỉ đưa văn bản vào TextBox.Text chính nó và thay đổi màu sắc. Tôi muốn có một ví dụ Đường viền/StackPanel/TextBlock phía trên khối chữ gốc nổi trên một lớp khác nhau trong khi di chuột qua.

Làm cách nào để tạo bảng điều khiển di chuột tương tự như trải nghiệm web với acronym tag?

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."; 
     } 

    } 
} 

Trả lời

35

vài cách bạn có thể làm điều đó, người ta sử dụng một mẹo công cụ với một phong cách tùy chỉnh. thay thế, bạn có thể sử dụng điều khiển bật lên, tùy chọn thứ ba sẽ là sử dụng tính năng adorner.

Đường ruột của tôi cho biết bạn muốn có một tooltip, tho.

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

sau đó bạn có thể sử dụng ToolTipService tính gắn thêm để thiết lập một loạt các tùy chọn cho biết tooltip, từ sự chậm trễ vào các vị trí tooltip

Các vấn đề liên quan