6

私はしばらくの間、焦点が合わないリストボックス/リストビューにいくつかのデータを表示しようとしてきました(つまり、リストだけでなく、その中のアイテムも意味します)。

両方のタイプのリスト(リストボックスとリストビュー)を試してみましたが、それらのItemTemplateとItemContainerStyleを使用しました。可能な限り、Focusableプロパティをfalseに設定しました。

リストを無効にする以外の方法はありませんが、無効になっていないように見せるために、すべてのスタイルを変更する必要があります。

私は何かを逃したことがありますか?私が知らない読み取り専用タイプのリストはありますか?

あなたのアイデアをありがとう:)

4

2 に答える 2

15

おそらくあなたが目にしている問題は、リスト内の個々の項目がフォーカス可能であることです。ただし、それをオーバーライドできます...これをリストボックスに追加してみてください:

  <ListBox.ItemContainerStyle>
    <Style TargetType="Control">
      <Setter Property="Focusable" Value="False" />
    </Style>
  </ListBox.ItemContainerStyle>

ただし、これにより項目が (キーボードまたはマウスで) 選択できなくなることに注意してください。選択した項目をプログラムで設定できますが、自動的に強調表示されないように見えるため、実際にはItemsControl.

于 2011-03-21T13:06:25.930 に答える
4

ListBox の代わりに TextBlocks で ItemsControl を使用する

<ItemsControl ItemsSource="{Binding MyListBoxItemsSource}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding MyDisplayName}" />
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
于 2011-03-21T13:57:47.673 に答える