2009-05-26 65 views
12

我有一個展示使用下面的DataTemplate項目列表框:ListBoxItem的選擇

<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> 

我使用的是透明的,只讀的,而不是一個TextBlock,因爲我希望用戶能夠無邊界的文本框選擇要複製的文本。我應該以不同的方式做嗎? 我該如何寫這個,以便當用戶點擊TextBox時,ListBoxItem也被選中了?

謝謝!

回答

18

我發現答案是剛剛從ListBoxItem的角度來看做到這一點,添加以下到它的DataTemplate:

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

正是我一直在尋找!一旦我想出將它放在列表框的ItemContainerStyle中,一切都很好! – David 2009-09-27 19:42:30

相關問題