2009-07-22 7 views
1

Dans WPF (C#), il est possible de définir dynamiquement la hauteur et la largeur de l'info-bulle (c'est-à-dire dans le code). Merci pour l'aide.Définition dynamique de la largeur et de la hauteur de l'info-bulle

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);` 

Répondre

1

La hauteur et la largeur d'une pointe d'outil dépendent de son contenu. Donc, vous devriez simplement faire le contenu de la taille que vous voulez qu'il soit.

Vous pourriez peut-être publier votre code définissant la pointe de l'outil, pour plus de précisions?

+0

il y a le code. Le problème est que l'image apparaît à l'intérieur de la pointe de l'outil, mais qu'il y a un écart entre l'info-bulle et l'image et que l'image doit couvrir toute la zone d'info-bulle – Jake

+0

Oop, nvm l'a corrigé. Merci pour votre temps. – Jake

3

Dans votre code, définissez la propriété height et width de l'info-bulle sur Double.NaN pour que la largeur et la hauteur s'ajustent dynamiquement.

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

Cela fera l'affaire.

Questions connexes