powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / ToolTip binding
1 сообщений из 1, страница 1 из 1
ToolTip binding
    #39715745
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет, реализую следующий функционал:
Есть главная View, у нее есть ListView со своим набором объектов.
Хочу чтобы при наведении курсора появлялась tooltip c сгенерированным QR кодом.
View:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
        <ListView  Grid.Column="1"  ItemsSource="{Binding persons}"  >
            <ListView.Style>
                <Style TargetType="{x:Type ListView}">
                    <Style.Triggers>
                        <Trigger Property="ItemsSource" Value="{x:Null}">
                            <Setter Property="Visibility" Value="Collapsed"   />
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </ListView.Style>

            <ListView.ItemTemplate>
                <DataTemplate DataType="{x:Type models:person}">
                    <Border>
                        <DockPanel >
                            
                            <StackPanel Orientation="Horizontal"   DockPanel.Dock="Left"    >

                                <TextBlock Text="{Binding F}" Margin="5 0 5 0"
                                            VerticalAlignment="Center" />

                                <TextBlock DockPanel.Dock="Right"
                                           FontFamily="{StaticResource FontAwesome}" 
                                           FontSize="20"  
                                           Text="&#xf029;"
                                           Foreground="Darkcyan"
                                           VerticalAlignment="Center"
                                           ToolTipService.ShowDuration="12000">
                                    <TextBlock.ToolTip >
                                        <ToolTip 
                                             IsOpen="{Binding DataContext.isToolTipOpen}"
                                             DataContext="{Binding RelativeSource={RelativeSource
                                             Mode=Self},Path=PlacementTarget.Parent}">
                                            
                                        <Image                                            
                                         Source="{Binding DataContext.imgSource}"                                         
                                         RenderOptions.BitmapScalingMode="NearestNeighbor"
                                         RenderOptions.EdgeMode="Aliased"
                                         MinHeight="300" MinWidth="300"/>
                                        </ToolTip>

                                    </TextBlock.ToolTip>
                                </TextBlock>
                            </StackPanel>

                        </DockPanel>
                    </Border>
                </DataTemplate>
            </ListView.ItemTemplate>
            
        </ListView>



viewmodel

Код: c#
1.
2.
3.
4.
public class VM
{
 public ObservableCollection<person> persons { get;  set; }
}



Проблема в том, что при байндинге из tooltip я могу максимум добраться до датаконтекста класса person, соответственно, чтобы сгенерировать QR (присвоить свойство imgSource класса person) мне в солюшн с моделями нужно тянуть еще много разных зависимостей (генерация QR кода, генерация ID, presentation core и тд.)- что очень плохо смешивать логику. Очень хотелось бы реализовать эту логику в ViewModel в виде команды с параметром-при открытии tooltip во viewModel срабатывает команда с параметром person, на котором открыли tooltip, и во ViewModel я присваиваю свойство imgSource. Для этого нужно реализовать в tooltip интерфейс ICommandSource. Но как прорваться к датаконтексту главной View? Из-за того, что tooltip не является элементом визуального дерева , соответственно findancestor не работает. Всем спасибо
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / ToolTip binding
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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