2014-12-12 2 views
1

Я не могу привязать кнопку внутри списка к свойству GoToTask, все остальные привязки, включить вторую кнопку в сетке, хорошо работает.Как связать кнопку внутри listview

<Grid> 
    <ListView ItemsSource="{Binding Projects}" SelectedItem="{Binding SelectedProject, Mode=TwoWay}" Grid.Row="1"> 
     <ListView.Resources> 
      <Style TargetType="{x:Type GridViewColumnHeader}"> 
       <Setter Property="Visibility" Value="Collapsed"/> 
      </Style> 
     </ListView.Resources> 
     <ListView.View> 
      <GridView> 
       <GridViewColumn DisplayMemberBinding="{Binding Name}"/> 
       <GridViewColumn Header="Go"> 
        <GridViewColumn.CellTemplate> 
         <DataTemplate> 
          <Button Content="Go" Command="{Binding Path=GoToTasks, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" /> 
         </DataTemplate> 
        </GridViewColumn.CellTemplate> 
       </GridViewColumn> 
      </GridView> 
     </ListView.View> 
    </ListView> 
    <Button Height="20" Width="50" HorizontalAlignment="Right" Command="{Binding GoToTasks}" Content="Go"/> 
</Grid> 

Все находится внутри UserControl. Что не так?

ответ

2

GridViewColumn не является частью VisualTree, и поэтому вам не разрешено использовать FindAncestor.
Similar here. Попробуйте ElementName, насколько я помню, он использует LogicalTree.

Смежные вопросы