0

WPF ListBox コントロールでマウスを使用して単一の単語を選択することは可能ですか? はいの場合、どうすればそれを行うことができますか?

すべてのヒントは大歓迎です:)

4

1 に答える 1

1

に を定義するItemTemplateListBox、 を使用しTextBoxて各アイテムを表示できます (アイテムがプレーンな であると仮定しますstring)。

<ListBox ItemsSource="{Binding YourCollection}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBox Text="{Binding}" IsReadOnly="True" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

更新 >>>

Binding.Mode私はちょうどそれをテストし、プロパティを設定するために1つの変更を加える必要がOneWayあり、それはうまくいきました. TextBoxしかし、 で各項目が選択されなくなることに気付いたので、それStyleを処理するために を追加し、項目のスタイルも少し変更しました。

<ListBox ItemsSource="{Binding YourCollection}" Name="ListBox" HorizontalContentAlignment="Stretch">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBox Text="{Binding ., Mode=OneWay}" IsReadOnly="True">
                <TextBox.Style>
                    <Style>
                        <Setter Property="TextBox.BorderThickness" Value="0" />
                    </Style>
                </TextBox.Style>
            </TextBox>
        </DataTemplate>
    </ListBox.ItemTemplate>
    <ListBox.ItemContainerStyle>
        <Style>
            <Style.Triggers>
                <Trigger Property="ListBox.IsKeyboardFocusWithin" Value="True">
                    <Setter Property="ListBoxItem.IsSelected" Value="True" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </ListBox.ItemContainerStyle>
</ListBox>
于 2013-11-09T17:21:50.880 に答える