0

次のようなリストボックスを作成したい:

---|-----|-----|-----|-----|-----

| は、マージンを使用して区切ったリストボックス項目です。これはうまくいきます。私が欲しいのは、この行を含む背景を持つリストボックスです。または、少なくともバックグラウンドで使用してください。セパレーターを試しましたが、itemtemplate で使用したのでクリック可能であるため、それは私が望むものではありません。

何か案は?

ありがとう

4

3 に答える 3

0

コントロール テンプレートを含むスタイルを ListBox 項目に追加する必要があります。

 <Style x:Key="{x:Type ListBoxItem}" TargetType="ListBoxItem">
   <Setter Property="SnapsToDevicePixels" Value="true"/>
   <Setter Property="OverridesDefaultStyle" Value="true"/>
   <Setter Property="Template">
     <Setter.Value>
        <ControlTemplate TargetType="ListBoxItem">
          <Border Name="Border"
                  BorderThickness="1,0"
                  BorderBrush="Black"
                  Padding="2"
                  SnapsToDevicePixels="true">
            <ContentPresenter />
          </Border>
        </ControlTemplate>
     </Setter.Value>
   </Setter>
 </Style>
于 2012-07-25T11:40:05.297 に答える
0

Border コントロールは、このタイプの装飾的な線を対象としています。辺の太さは独立して設定されるので、1 本の縦線には 1 つの辺だけを使用します。関連して、余白の代わりにレイアウトに Grid コントロールを使用してみましたか?

于 2012-07-26T04:10:38.467 に答える
0

コントロールのようなタイムラインを作成しようとしています。これを使用して修正しました:

  <ListBox.Template>
      <ControlTemplate>
            <Border BorderThickness="2" BorderBrush="Black">
                  <Grid>
                        <Rectangle Height="2" HorizontalAlignment="Stretch" VerticalAlignment="Center" Fill="Black"/>
                        <ScrollViewer Padding="{TemplateBinding Padding}">
                              <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                        </ScrollViewer>
                  </Grid>
            </Border>
       </ControlTemplate>
  </ListBox.Template>

これはテスト プロジェクトでは問題なく動作しますが、メイン プロジェクトでいくつかの問題が発生しています。長方形はスクロールビューアの下に残ります。うーん...進歩しています。このことをすぐに修正してください。

これまでのご回答ありがとうございます。

于 2012-07-26T07:53:01.243 に答える