动态设置工具提示的宽度和高度

时间:2009-07-22 22:27:07

标签: c# wpf tooltip

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

2 个答案:

答案 0 :(得分:3)

在您的代码中,只需将工具提示的高度和宽度属性设置为Double.NaN即可动态调整宽度和高度。

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

这样就可以了。

答案 1 :(得分:1)

工具提示的高度和宽度基于其内容。所以你应该简单地使内容符合你想要的大小。

也许您可以发布设置工具提示的代码,以便进一步说明?