如何显示禁用GridViewItem的工具提示

时间:2019-03-09 18:41:12

标签: uwp

我有一些禁用GridViewItem并在GridView中启用GridViewItem的功能。 我想在鼠标指针位于禁用的GridViewItem上显示工具提示。 但是我不能显示禁用GridViewItem的工具提示。

我找到了一些WPF解决方案。(使用ShowOnDisabled属性) 但是UWP中没有ShowOnDisabled。

我的代码段。

Xaml:

<root:ScanedAppDataTemplateSelector x:Name="ScanedAppDataTemplateSelector"
                                            Eenable="{StaticResource ScanedAppItemTemplatEenable}"
                                            Disable="{StaticResource ScanedAppItemTemplateDisable}"/>
<DataTemplate x:Key="ScanedAppItemTemplateDisable" x:DataType="root:AppInfo">
    <Grid Width="70" Height="95">
        <Grid.RowDefinitions>
            <RowDefinition Height="auto"/>
            <RowDefinition Height="35"/>
        </Grid.RowDefinitions>

        <ToolTipService.ToolTip>
            <TextBlock Text="Disabled Item"/>
        </ToolTipService.ToolTip>
        <Image x:Name="ScanedAppItemtBtn" Source="{x:Bind BitmapIcon, Mode=TwoWay}"/>
        <TextBlock x:Name="ScanedAppItemName" Text="{x:Bind AppName, Mode=TwoWay}" Grid.Row="1"/>
    </Grid>
</DataTemplate>
<GridView Name="ScanedAppGridView"
              ItemsSource="{x:Bind _dataContext.ScanedAppModelItem }"
              ItemTemplateSelector="{StaticResource ScanedAppDataTemplateSelector}"
              SelectionMode="Multiple"
              IsItemClickEnabled="False"/>

我使用DataTemplateSelector禁用GridViewItem。

DataTemplateSelector:

protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
    {
        var viewModel = item as AppInfo;
        var selectorItem = container as SelectorItem;

        if (selectorItem != null && viewModel != null)
        {
            if (viewModel.IsDisable)
            {
                selectorItem.IsEnabled = false;
                return disable;
            }
        }

        return enable;
    }

1 个答案:

答案 0 :(得分:0)

  

如何显示禁用GridViewItem的工具提示

当前,UWP Tooltip不提供用于在disable元素上显示提示的api。如果您确实需要此功能,请随时在UserVoice上要求此功能。