UWP:禁用 MediaTransportControls 的工具提示 - 元素
UWP: Disabling Tooltips for MediaTransportControls - Element
我试图简单地禁用 <MediaTransportControls>
元素的工具提示。但是,工具提示仍然显示,如该屏幕截图所示。
使用 <ToolTipService>
对显示的工具提示没有任何影响。如 ToolTip
:
的屏幕截图所示,工具提示针对 MediaTransportControl 中的所有元素显示
目前ToolTipService
不提供此方法来禁用ToolTip
。根据您的要求,您可以使用 SetToolTip
方法将所有元素工具提示设置为 MediaTransportControls
中的 null
。您可以使用 VisualTreeHelper
来查找所有子元素。我还创建了一个 MediaTransportControlsExtension
class 你可以直接使用。
public static class MediaTransportControlsExtension
{
public static void DisableTootip(this DependencyObject control)
{
int count = VisualTreeHelper.GetChildrenCount(control);
for (int i = 0; i < count; i++)
{
var child = VisualTreeHelper.GetChild(control, i);
ToolTipService.SetToolTip(child, null);
DisableTootip(child);
}
}
}
用法
请注意,您需要在所有元素初始化后调用此方法。
private void MainMPE_Loaded(object sender, RoutedEventArgs e)
{
MainMPE.TransportControls.DisableTootip();
}
我试图简单地禁用 <MediaTransportControls>
元素的工具提示。但是,工具提示仍然显示,如该屏幕截图所示。
使用 <ToolTipService>
对显示的工具提示没有任何影响。如 ToolTip
:
目前ToolTipService
不提供此方法来禁用ToolTip
。根据您的要求,您可以使用 SetToolTip
方法将所有元素工具提示设置为 MediaTransportControls
中的 null
。您可以使用 VisualTreeHelper
来查找所有子元素。我还创建了一个 MediaTransportControlsExtension
class 你可以直接使用。
public static class MediaTransportControlsExtension
{
public static void DisableTootip(this DependencyObject control)
{
int count = VisualTreeHelper.GetChildrenCount(control);
for (int i = 0; i < count; i++)
{
var child = VisualTreeHelper.GetChild(control, i);
ToolTipService.SetToolTip(child, null);
DisableTootip(child);
}
}
}
用法
请注意,您需要在所有元素初始化后调用此方法。
private void MainMPE_Loaded(object sender, RoutedEventArgs e)
{
MainMPE.TransportControls.DisableTootip();
}