2009-07-22 19 views
1

In WPF (C#) gibt es eine Möglichkeit, die Höhe und Breite des Tooltips dynamisch festzulegen (dh im Code). Danke für die Hilfe.QuickInfo-Breite und -Höhe dynamisch festlegen

System.Windows.Controls.Image td = new System.Windows.Controls.Image(); 

BitmapImage myBitmapImage = new BitmapImage(); 
      myBitmapImage.BeginInit(); 
      myBitmapImage.UriSource = new Uri(Directory.GetCurrentDirectory() + "/Homepage.jpg"); 
      td.Width = 530; 
      td.Height = 392; 
      //myBitmapImage.DecodePixelWidth = 430; 
      //myBitmapImage.DecodePixelHeight = 292; 
      myBitmapImage.EndInit(); 
      td.Source = myBitmapImage; 

      TextBlock textBlock = new TextBlock(); 
      BrushConverter conv = new BrushConverter(); 
      string strColor1 = bannerColor.SelectedItem.ToString(); 
      strColor1 = strColor1.Substring(strColor1.IndexOf(' ') + 1); 
      SolidColorBrush col = conv.ConvertFromString(strColor1) as SolidColorBrush; 

      textBlock.Foreground = col; 
      textBlock.FontWeight = FontWeights.Bold; 
      textBlock.FontSize = 18; 
      textBlock.FontFamily = new System.Windows.Media.FontFamily("Tahoma"); 
      textBlock.Width = 100; 
      textBlock.Height = 20; 
      textBlock.Text = "BACKUP"; 
      textBlock.Margin = new Thickness(5, 5, 425, 367); 

      Grid toolTipPanel = new Grid(); 
      toolTipPanel.Width = 530; 
      toolTipPanel.Height = 392; 
      toolTipPanel.Children.Add(td); 
      toolTipPanel.Children.Add(textBlock); 

      ToolTipService.SetToolTip(image1, toolTipPanel); 
      ToolTipService.SetShowDuration(image1, 999999999);` 

Antwort

1

Die Höhe und Breite einer Werkzeugspitze basieren auf ihrem Inhalt. Sie sollten also den Inhalt einfach so groß machen, wie Sie möchten.

Vielleicht könnten Sie Ihren Code, der den Tooltipp setzt, zur weiteren Klärung veröffentlichen?

+0

da ist der Code. Das Problem ist also, dass das Bild in der Werkzeugspitze erscheint, aber es gibt eine Lücke zwischen dem Tooltip und dem Bild und ich möchte, dass das Bild den gesamten Tooltip-Bereich abdeckt – Jake

+0

Oop, nvm hat es behoben. Vielen Dank für Ihre Zeit. – Jake

3

Setzen Sie in Ihrem Code einfach die Eigenschaft height und width des Tooltips auf Double.NaN, um die Breite und Höhe dynamisch anzupassen.

_toolTip.Width = Double.NaN; 
_toolTip.Height = Double.NaN; 

Dies wird den Trick tun.

Verwandte Themen