WPF - Проблема с привязкой текста всплывающей подсказки к настраиваемому пользовательскому элементу управления

Я в процессе создания простого пользовательского элемента управления; просто ImageButton.

Я уже успешно привязал изображение к кнопке и поэтому решил добавить всплывающую подсказку. Сейчас я' м возникли проблемы. Кажется, я могу жестко закодировать текст всплывающей подсказки в XAML для элемента управления, но когда он привязан, он возвращает пустую строку.

Вот XAML для моего элемента управления:

<Button x:Class="BCOCB.DACMS.Controls.ImageButton"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300"
        Name="this"
        Style="{StaticResource DisabledButton}">

    <Image Source="{Binding ElementName=this, Path=Source}" />    
    <Button.ToolTip>
        <TextBlock Text="{Binding ElementName=this, Path=ToolTipText}" />
    </Button.ToolTip>
</Button>

А вот информация о свойстве зависимости для текст всплывающей подсказки:

public static readonly DependencyProperty ToolTipTextProperty = DependencyProperty.Register("ToolTipText", typeof(string), typeof(ImageButton));
public string ToolTipText
{
  get
  {
    return this.GetValue(ToolTipTextProperty) as string;
  }
  set
  {
    this.SetValue(ToolTipTextProperty, value);
  }
}

И, наконец, объявление элемента управления в моем окне:

<controls:ImageButton x:Name="btnAdd" Source="/DACMS;component/Resources/plus.png" ToolTipText="Add New Item" Click="btnAdd_Click" />

Как я упоминал ранее, изображение привязывается очень хорошо, и я сделал это точно так же.

Любые идеи ?

Спасибо,
Сонни

РЕДАКТИРОВАТЬ: Теперь он у меня работает. Я удалил ElementName из привязки и установил для TextBlock DataContext = this в коде, стоящем за при создании экземпляра. Тем не менее, я хотел бы знать, как исправить это в XAML.

5
задан Sonny Boy 1 December 2010 в 18:08
поделиться