Я в процессе создания простого пользовательского элемента управления; просто 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.