我对WPF比较新,并且正在使用Stackpanel来显示图像列表。此图像列表是动态的,因此Stackpanel项目在运行时以代码的形式添加,而不是直接在XAML中添加。
我很好奇如何设法为Google Maps API warning: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys
中的每个图像显示单独的工具提示。我以为我可以做以下事情:
Stackpanel
但这似乎有点过分了。有没有什么方法可以简单地在stackpanel中获取子项列表,只需使用private void mainTaskBar_PreviewMouseMove(object sender, MouseEventArgs e)
{
foreach (Image img in imgList)
if (img == e.OriginalSource)
displayCorrespondingTooltip(img);
}
设置每个工具提示?我觉得那会更优雅。
谢谢!
答案 0 :(得分:1)
您可以定义类似以下的方法,为各种控件分配工具提示:
public void displayCorrespondingTooltip<T>(T control, string tooltipText)
{
//For images
if (control.GetType() == typeof(Image))
{
(control as Image).ToolTip = tooltipText;
}
//For Rectangles
if (control.GetType() == typeof(Rectangle))
{
(control as Rectangle).ToolTip = tooltipText;
}
}
这辆面包车如下所示:
displayCorrespondingTooltip<Image>(img, "This will be the image tooltip");
displayCorrespondingTooltip<Rectangle>(rectObject,"rectangle tooltip");