1

リストビューの間隔に問題があります。コードは次のとおりです。

            <ListView Width="300" ItemsSource="{Binding ChosenDepartment.HoursList}" Grid.Row="1" Grid.Column="1" Margin="100,0,0,0" IsItemClickEnabled="False" SelectionMode="None">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Width="125" Text="{Binding Day}" Style="{StaticResource BasicTextStyle}" FontWeight="Bold"/>
                        <TextBlock Width="160" Text="{Binding Time}" Style="{StaticResource BasicTextStyle}"/>
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="Padding" Value="0"/>
                    <Setter Property="Margin" Value="0"/>
                </Style>
            </ListView.ItemContainerStyle>
        </ListView>

何をやっても下は隙間StackPanelだらけListItems。2 行のテキストに十分なスペース。実際、a のテキストが 2 行に折り返されている場合、完全TextBlockに を埋めます。ListViewItem

マージンを調整できますが、PaddingTextBlocksもしません。アイテムの高さに影響を与える唯一の方法ListViewは、.height プロパティを に追加した場合ItemContainerStyleです。をハードコーディングするHeightと、それに影響しますが、もちろん、. をハードコーディングしたくありませんHeight

4

2 に答える 2

2

ListViewItems には、テンプレート内にハードコーディングされたマージンがあり、それらを選択したときに (右クリックするか、指で下にスワイプすることによって) 追加される境界線と視覚的表示に対応します。

それらを削除したい場合は、Blend でテンプレートを編集する必要があります: ListView を右クリックし、[追加テンプレートの編集] > [生成されたアイテム コンテナー (ItemContainerStyle) の編集] > [コピーの編集... ] を選択して、テンプレートを変更します。

于 2013-04-23T20:01:40.833 に答える
2

ジェレミーの反応は私を正しい道へと導きましたが、最終的に私は別のコントロールを発見ItemsControlListViewました。

于 2013-04-23T20:39:10.380 に答える