Как я могу вызвать управляющее событие, когда выбран ListViewItem? - PullRequest
0 голосов
/ 18 сентября 2009

У меня есть изображение, которое я хочу показать, только когда выбран ListViewItem. У меня не работает код, но я думаю, что он иллюстрирует то, чего я хочу достичь.

<GridViewColumn>
   <GridViewColumn.CellTemplate>
      <DataTemplate>
         <Image Height="20">
            <Image.Style>
               <Style TargetType="{x:Type Image}">
                  <Setter Property="Visibility" Value="Collapsed" />
                  <Style.Triggers>
                     <DataTrigger Binding="{Binding RelativeSource=
                           {
                              RelativeSource 
                              Mode=FindAncestor, 
                              AncestorType={x:Type ListViewItem}
                           }, Path=IsSelected}" Value="True">
                        <Setter Property="Visibility" Value="Visible" />
                        <Setter Property="Source" Value="/Russound.Windows;component/Resources/2leftarrow-64.png" />
                        <Setter Property="ToolTip" Value="Selected" />
                     </DataTrigger>
                  </Style.Triggers>
               </Style>
            </Image.Style>
         </Image>
      </DataTemplate>
   </GridViewColumn.CellTemplate>
</GridViewColumn>

Ответы [ 2 ]

1 голос
/ 18 сентября 2009

При работе с проблемами привязки я обычно выполняю поиск в окне «Вывод», чтобы найти ошибки привязки. Все они начинаются с System.Windows.DataError. Итак, есть ли какие-либо ошибки в окне вывода?

0 голосов
/ 18 сентября 2009

Просто измените видимость по умолчанию на Скрытый вместо Свернутый.

По-видимому, если вы используете Collapsed, элемент удаляется из визуального дерева и RelativeSource больше не работает.

...