2009-07-22 4 views
1

В WPF (C#) есть способ установить высоту и ширину всплывающей подсказки динамически (что означает код). Спасибо за помощь.Динамическая установка ширины и высоты всплывающей подсказки

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

ответ

1

Высота и ширина наконечника инструмента определяются его содержимым. Поэтому вы должны просто сделать контент таким, каким хотите.

Возможно, вы можете оставить свой код, который задает подсказку, для уточнения ситуации?

+0

есть код. Таким образом, проблема заключается в том, что изображение появляется внутри наконечника инструмента, но между всплывающей подсказкой и изображением есть зазор, и я хочу, чтобы изображение охватывало всю область всплывающей подсказки. – Jake

+0

Oop, nvm исправил его. Спасибо за ваше время. – Jake

3

В вашем коде просто установите высоту и ширину всплывающей подсказки для Double.NaN, чтобы динамическая ширина и высота изменялись.

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

Это сделает трюк.

Смежные вопросы