powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Установка тултипа через байндинг
5 сообщений из 5, страница 1 из 1
Установка тултипа через байндинг
    #37175140
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как выставить через байндинг одно свойство контрола через другое его свойство?
Для этого в байндинге нужно использовать RelativeSource Self или ElementName=This.
Например, чтобы задать тултип в комбобоксе используя значение выбранного элемента байндинг должен иметь вид:
Код: plaintext
1.
ToolTipService.ToolTip="{Binding Path=SelectedValue, ElementName=This}"
По идее так должно работать, но на деле не работает.
Как это исправить?

Тестовый проект прилагаю.
...
Рейтинг: 0 / 0
Установка тултипа через байндинг
    #37175229
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmatic,
Можно так попробовать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<ComboBox
    x:Name="Combo"
    Margin="10"
    SelectedIndex="0"
    ToolTipService.ToolTip="{Binding ElementName=Combo, Path=SelectedValue, Mode=OneWay}"
    Height="23"
    Width="100">
    <ComboBoxItem>1</ComboBoxItem>
    <ComboBoxItem>2</ComboBoxItem>
    <ComboBoxItem>3</ComboBoxItem>
    <ComboBoxItem>4</ComboBoxItem>
</ComboBox>

Но в таком случае вылетает исключение. Походу только шаблон у комбобокса переопределять и в нем ToolTip TextBlock'а привязать к SelectedItem. Через TemplateBinding.
...
Рейтинг: 0 / 0
Установка тултипа через байндинг
    #37175604
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Руки-крюки,
авторНо в таком случае вылетает исключение. Походу только шаблон у комбобокса переопределять и в нем ToolTip TextBlock'а привязать к SelectedItem. Через TemplateBinding.
Попробую на досуге, спасибо :)
И наверно TextBlock ToolTip'а, а не наоборот.

Пока сделал так и оно работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<ComboBox
    x:Name="thisComboBox"
    Margin="10"
    Height="23"
    Width="100"
    ToolTipService.ToolTip="{Binding SelectedValue, ElementName=thisComboBox}">
</ComboBox>
В .cs:
Код: plaintext
1.
2.
var data = new List<int>() { 1, 2, 3, 4 };
this.DataContext = data;
thisComboBox.ItemsSource = data;
...
Рейтинг: 0 / 0
Установка тултипа через байндинг
    #37175623
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticИ наверно TextBlock ToolTip'а, а не наоборот.
Нет, именно ToolTip TextBlock'а. В шаблоне ComboBox'а находится TextBlock (или TextBox, если ComboBox не ReadOnly), который показывает SelectedItem. У TextBlock'а ToolTip надо привязать к SelectedItem.
...
Рейтинг: 0 / 0
Установка тултипа через байндинг
    #37175653
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Руки-крюки,

Теперь дошло, спасибо.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Установка тултипа через байндинг
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]