2016-01-13 117 views
0

我有一個列表框,在那裏顯示標題列表。用戶單擊該行以選擇填充更多文本框的項目。使用列表框內的文本框

但是,我在列表框的每一行中使用的文本框不可點擊 - 光標變爲文本選擇光標。

有什麼我應該使用的?在模板

<ListBox ItemsSource="{DynamicResource products}" Width="319" x:Name="productsListBox" Height="300"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
     <TextBox Text="{Binding Title}" BorderThickness="0" IsReadOnly="True"/> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 
+1

更換你想在ListBox中的文本以列表框中編輯? TextBox控件通常用於編輯文本值。如果你只是想讓文本顯示在列表框中,那麼像TextBlock這樣的另一個控件會更好。看看Windows設計指南:https://msdn.microsoft.com/en-us/library/windows/desktop/dn688966%28v=vs.85%29.aspx我不認爲編輯是「正常的」儘管有可能,但直接使用ListBox中的項目。沒有真正的正確或錯誤的答案,但嘗試有一個選擇控制的理由。 – GrahamMc

回答

2

只讀文本框可以與TextBlock的

<DataTemplate> 
    <TextBlock Text="{Binding Title}" BorderThickness="0"/> 
</DataTemplate> 
+0

這個伎倆!謝謝。我嘗試過標籤,並想知道爲什麼它會起作用。 – user3791372

+0

@ user3791372,TextBox應該是可編輯的,不像Label和TextBlock只能顯示文本。所以TextBox需要顯示選擇,插入位置,並處理鼠標事件,這會阻止選擇列表項目 – ASh