C# 在列表框中使用文本框

C# 在列表框中使用文本框,c#,wpf,xaml,listbox,C#,Wpf,Xaml,Listbox,我有一个列表框,在那里我显示一个标题列表。用户单击该行以选择填充更多文本框的项目 但是,我在列表框的每一行中使用的文本框是不可单击的-光标变为文本选择光标 还有什么我应该用的吗 <ListBox ItemsSource="{DynamicResource products}" Width="319" x:Name="productsListBox" Height="300"> <ListBox.ItemTemplate> <DataTempla

我有一个列表框,在那里我显示一个标题列表。用户单击该行以选择填充更多文本框的项目

但是,我在列表框的每一行中使用的文本框是不可单击的-光标变为文本选择光标

还有什么我应该用的吗

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

模板中的只读文本框可以替换为文本块

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

模板中的只读文本框可以替换为文本块

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


是否希望在列表框中编辑列表框中的文本?TextBox控件通常用于编辑文本值。如果您只想在列表框中显示文本,那么另一个控件(如TextBlock)更好。看看Windows设计指南:我不认为直接编辑列表框中的项目是“正常的”,尽管这是可能的。没有正确或错误的答案,但请尝试说明选择控件的原因。是否希望在列表框中编辑列表框中的文本?TextBox控件通常用于编辑文本值。如果您只想在列表框中显示文本,那么另一个控件(如TextBlock)更好。看看Windows设计指南:我不认为直接编辑列表框中的项目是“正常的”,尽管这是可能的。没有正确或错误的答案,但是试着为你选择控件找一个理由。这就成功了!谢谢我试过标签,想知道为什么它会工作。@user3791372,TextBox应该是可编辑的,不像标签和TextBlock只显示文本。所以TextBox需要显示所选内容、插入符号位置,并处理鼠标事件,这会阻止列表项的选择,这就成功了!谢谢我试过标签,想知道为什么它会工作。@user3791372,TextBox应该是可编辑的,不像标签和TextBlock只显示文本。所以TextBox需要显示所选内容、插入符号位置,并处理鼠标事件,这会阻止列表项的选择