I have use the ToolTip with Behavior. So, when click on the control, ToolTip will be appear. 

However, when change the disabled of control, this ToolTip is not appeared.
Because, mouse events were not activated. So, i was used the ContentContorl and it can be activate the mouse event when change the disabled.

But, when i have several control in one Grid, i dont know that how to activate the only one control.

```
<Window.Resources>
    <Style TargetType="ContentControl" >
        <Setter Property="localToolTip:ToolTipTouchScreenBehavior.IsEnabled" Value="True"/>
    </Style>
    <Style TargetType="TextBlock" >
        <Setter Property="localToolTip:ToolTipTouchScreenBehavior.IsEnabled" Value="True"/>
    </Style>        
</Window.Resources>

<ContentControl ToolTip="This is ToolTip5 Test.">
            <Grid IsEnabled="False">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="300"/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>
                <TextBlock  HorizontalAlignment="Left" Margin="5" TextWrapping="Wrap" Text="ToolTip Test5"  FontSize="25" 
                            ToolTipService.ShowOnDisabled="True" />
                <TextBox Grid.Column="1" Width="200" />

            </Grid>
</ContentControl>

public class ToolTipTouchScreenBehavior : Behavior<FrameworkElement>
{

    public static DependencyProperty IsEnabledProperty =
        DependencyProperty.RegisterAttached("IsEnabled", typeof(bool),
            typeof(ToolTipTouchScreenBehavior), new FrameworkPropertyMetadata(false, OnIsEnabledChanged));

    public static bool GetIsEnabled(DependencyObject uie)
    {
        return (bool)uie.GetValue(IsEnabledProperty);
    }

    public static void SetIsEnabled(DependencyObject uie, bool value)
    {
        uie.SetValue(IsEnabledProperty, value);
    }

    public static void OnIsEnabledChanged(DependencyObject dpo, DependencyPropertyChangedEventArgs e)
    {

        UIElement uie = dpo as UIElement;

        if (uie != null)
        {

            var behColl = Interaction.GetBehaviors(uie);

            var existingBehavior = behColl.FirstOrDefault(b => b.GetType() ==
                  typeof(ToolTipTouchScreenBehavior)) as ToolTipTouchScreenBehavior;

            if ((bool)e.NewValue == false && existingBehavior != null)
                behColl.Remove(existingBehavior);
            else if ((bool)e.NewValue == true && existingBehavior == null)
                behColl.Add(new ToolTipTouchScreenBehavior());

        }

    }

    Timer timer { get; set; }
    ToolTip toolTip { get; set; }

    protected override void OnAttached()
    {
        base.OnAttached();

        toolTip = new ToolTip();

        timer = new Timer();
        timer.Interval = 5000;
        timer.Elapsed += OnTimerElapsed;

        AssociatedObject.MouseLeave += OnMouseLeave;
        AssociatedObject.MouseLeftButtonUp += OnMouseLeftButtonUp;

    }

    protected override void OnDetaching()
    {
        base.OnDetaching();

        AssociatedObject.MouseLeave -= OnMouseLeave;
        AssociatedObject.MouseLeftButtonUp -= OnMouseLeftButtonUp;
    }

    public void OnMouseLeave(object sender, System.Windows.Input.MouseEventArgs e)
    {
        CloseToolTip();
    }

    public void OnMouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
    {
        try
        {

            //var temp = AssociatedObject.ToolTip;
            //if (((dynamic)sender).ToolTip != null)
            if (AssociatedObject.ToolTip != null)
            {
                if (AssociatedObject.ToolTip is string)
                    toolTip.Content = AssociatedObject.ToolTip;
                else
                    toolTip = (ToolTip)AssociatedObject.ToolTip;

                //Debug.WriteLine("ToolTip Opened: {0}, ToolTip Value: {1}", toolTip.IsOpen, toolTip.ToolTip);

                toolTip.IsOpen = true;
                timer.Start();

            }
        }
        catch (Exception ex)
        {
            throw ex;
        }

    }

    private void CloseToolTip()
    {

        if (timer.Enabled)
        {
            timer.Stop();
        }

        if (toolTip != null)
        {
            toolTip.IsOpen = false;
        }
    }

    private void OnTimerElapsed(object sender, ElapsedEventArgs e)
    {
        Application.Current.Dispatcher.BeginInvoke((Action)CloseToolTip, DispatcherPriority.Send);
    }

}

```

When i have above code, i just want to add the ToolTip for only TextBlock. not TextBox.

How to apply the ToolTip to only one special control?