2015-09-24 3 views
0

Мне интересно, почему я могу выбрать элемент в списке, но не в тексте. Поэтому я могу выбрать элемент в белом пространстве, но когда я нажимаю на текст или изображение, это не выделяется, и мне интересно, почему?Listbox highlight item

<Popup IsOpen="{Binding IsChecked, ElementName=toggleButtonAdd}" x:Name="Popup" StaysOpen="False" Placement="Right"> 
       <Border BorderBrush="Black" BorderThickness="1" Background="Gainsboro"> 
        <StackPanel Margin="5,10,5,5"> 
         <TextBlock Text="Add Existing Property:"></TextBlock> 
         <ListBox BorderBrush="Black" BorderThickness="1" Background="White" Margin="5" Padding="4" Width="130" 
           ItemsSource="{Binding Path=AvailableProperties}" ><!--SelectionChanged="Selector_OnSelectionChanged">--> 
          <ListBox.ItemTemplate> 
           <DataTemplate> 
            <ListBoxItem Margin="2"> 
             <StackPanel Orientation="Horizontal"> 
              <Image Source="{Binding Icon, Converter={StaticResource ImageToSourceConverter}}" Width="12" Height="12" Margin="3" VerticalAlignment="Center"/> 
              <TextBlock Text="{Binding Name}" VerticalAlignment="Center"></TextBlock> 
             </StackPanel> 
            </ListBoxItem> 
           </DataTemplate> 
          </ListBox.ItemTemplate> 
         </ListBox> 
        </StackPanel> 
       </Border> 
      </Popup> 

ответ

1

Прежде всего, вам не нужно добавлять ListBoxItem к DataTemplate

Если удалить ListBoxItem из DataTemplate выбор будет работать, как ожидалось. Я действительно угадываю здесь, но я думаю, что у него есть что-то с самим ListBox и тем, как он находит своих детей. Это, конечно, не связано с тем, что ListBoxItem является ContentControl, так как смена вашего примера на ContentControl исправит проблему

+0

Спасибо, что сработало отлично :) –