2009-05-26 20 views
12

ich eine ListBox habe Artikel mit dem folgende Datatemplate zeigt:ListBoxItem Auswahl auf TextBox Fokus

<DataTemplate x:Key="PersonTemplate" DataType="{x:Type DAL:ResultItem}" > 
    <StackPanel Width="280" > 
    <TextBox BorderThickness="0" IsReadOnly="True" Background="Transparent" Text="{Binding FullName1, Mode=OneWay}"/> 
    ... 
    </StackPanel> 
</DataTemplate> 

ich ein transparentes verwenden, schreibgeschützt, randlos TextBox als auf einen Textblock dagegen, weil ich Benutzer möchte in der Lage sein, um den Text zum Kopieren auszuwählen. Sollte ich es anders machen? Wie kann ich dies schreiben, so dass das ListBoxItem auch ausgewählt wird, wenn der Benutzer auf die TextBox klickt?

Danke!

Antwort

18

fand ich, dass die Antwort auf diese vom ListBoxItem Standpunkt nur zu tun ist, wird die folgende zusätzlich zu seiner Datatemplate: Was

<Style.Triggers> 
    <Trigger Property="IsKeyboardFocusWithin" Value="True"> 
    <Setter Property="IsSelected" Value="True"/> 
    </Trigger> 
</Style.Triggers> 
+1

Just for Ich war auf der Suche! Sobald ich herausgefunden habe, dass ich das in den ItemContainerStyle der Listbox legen soll, ist alles gut! – David

+3

Für vollständige XAML, überprüfen Sie dies http://stackoverflow.com/questions/2960098/set-listboxitem-isselected-when-child-textbox-is-focused/2962961#2962961 – iraSenthil

Verwandte Themen