2

ほとんどの場合、ListBox は次のように表示されます。

代替テキスト

しかし、ときどき次のようになります。

代替テキスト

何がうまくいかないのか考えていますか?

- 編集 -

コントロールテンプレートを質問から削除しました。プログラムからコントロールテンプレートを削除しても問題が残っていたためです。これは WPF のバグですか?

4

2 に答える 2

0

私はほとんど同じ問題を抱えていました。私の質問を参照してください。本当の答えは見つかりませんでした。私が最近やっていることは、リストボックステンプレートからスクロールビューアーを取り除き、リストボックス自体全体を新しいスクロールビューアーに埋め込むことです。すべての状況でうまくいくわけではありませんが、それでも巧妙なトリックです。

xaml は次のようになります。

<ScrollViewer>

  <ListBox>

    <!--strip default presenter-->
    <ItemsControl.Template>
      <ControlTemplate>
        <ItemsPresenter />
      </ControlTemplate>
    </ItemsControl.Template>

    <ListBox.ItemTemplate>
      <DataTemplate>
        <!--data template goes here-->
      </DataTemplate>
    </ListBox.ItemTemplate>

  </ListBox>

</ScrollViewer>

私は巨大な xaml ウィザードではないので、誰かがこれを再利用可能なコードに変換できる場合は、ぜひそうしてください。

于 2012-01-05T13:41:42.853 に答える
0

ListBox 項目の境界線に SnapsToDevicePixels="True" を設定してみましたか? 太さが1なので「デバイス独立単位」で境界線がピクセル境界に落ちていると考えています。

于 2010-08-16T10:00:20.760 に答える