2010-02-17 38 views
1

在我使用DataTemplate机制的应用程序中,我插入ListBox项目的另一个列表框。但是,它可能选择在父列表框中一个ListBoxItem的时候,焦点可能放在另一个父ListBoxItem中的孩子(见图片)WPF:如果用户点击子列表框,如何选择父列表框

Pic http://i053.radikal.ru/1002/fc/3e68c57e3488.png

怎么做:如果(在重点子列表框中的一个从一个项目他们选择),然后父列表文件被选中?使用结合或模板

<DataTemplate x:Key="NotesListBoxDataTemplate" DataType="Note"> 
    <StackPanel Orientation="Vertical"> 

     <StackPanel Orientation="Horizontal"> 
      <TextBox Text="{Binding Path=Title, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"></TextBox> 
      <my:DatePicker Height="25" Name="datePicker1" Width="115" xmlns:my="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit" 
          SelectedDate="{Binding LastEdit, 
                Mode = TwoWay}" /> 
     </StackPanel> 
     <TextBox Text="{Binding Path=Content, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"></TextBox> 

     <StackPanel Orientation="Horizontal"> 
      <ListBox Name="ImagesListBox" SelectedIndex="{Binding Mode=OneWayToSource, Source={StaticResource progParameters}, Path=SelectedImage, UpdateSourceTrigger=PropertyChanged}" ItemsSource="{Binding Path=Images}" ItemTemplate="{StaticResource NotesListBoxImagesTemplate}" Style="{StaticResource HorizontalListBox}"> 
      </ListBox> 
      <StackPanel Orientation="Vertical"> 
       <Button Name="AddImageButon" Content="+" Click="AddImageButon_Click"></Button> 
       <Button Name="RemoveImageButon" Content="-" Click="RemoveImageButon_Click"></Button> 
      </StackPanel> 

     </StackPanel> 

    </StackPanel> 
</DataTemplate> 

回答

3

在父ListBox集属性IsSynchronizedWithCurrentItemtrue,然后在内部ListBox ES的SelectedItem属性设置为​​。

考虑使用Converter来帮助您获取无法通过xaml访问的特定数据,或者需要执行一些计算。

希望这会有所帮助。