Как я могу избавиться от закругленных углов в элементе ListViewItem в WPF listview?

#wpf #xaml #styling #listviewitem

#wpf #xaml #оформление #listviewitem

Вопрос:

У меня есть стиль, который я применяю к ItemContainerStyle Listview. Он помещает строку в нижнюю часть строки и задает высоту строки.

Однако по какой-то причине кажется, что каждая строка имеет закругленные углы (как видно на прилагаемом снимке). Когда я смотрю на стиль в Blend — там нет закругленных углов.

Как я могу избавиться от закругленных углов?

 <Style TargetType="ListViewItem" x:Key="RowStyle">
                <Setter Property="BorderThickness" Value="0,0,0,1" />
                <Setter Property="BorderBrush" Value="{DynamicResource ButtonPressedColor}" />
                <Setter Property="Height" Value="40" />
                <Setter Property="Background" Value="#FFF9EDED"/>

            </Style>            

        <ListView x:Name="lvw_FileList" Background="{DynamicResource Watermark}" ItemContainerStyle="{StaticResource RowStyle}" BorderBrush="{DynamicResource GreyBorderColor}" BorderThickness="3" Margin="0" ItemsSource="{Binding Mode=OneWay}" d:DataContext="{d:DesignData /SampleData/SampleListItems.xaml}" Foreground="{DynamicResource TextColor}">    
            <ListView.View>
                <GridView AllowsColumnReorder="False">
                    <GridView.ColumnHeaderContainerStyle>
                        <Style>
                            <Setter Property="UIElement.Visibility" Value="Collapsed" />
                        </Style>
                    </GridView.ColumnHeaderContainerStyle>                  
                    <GridViewColumn Header="Picture" CellTemplate="{DynamicResource PictureCell}" />
                    <GridViewColumn Header="Name" CellTemplate="{DynamicResource CompanyNameCell}" />                   
                    <GridViewColumn Header="Action" CellTemplate="{DynamicResource ActionCell}" />
                    <!--<GridViewColumn Header="Delete" Width="50"/>-->
                </GridView>
            </ListView.View>            
        </ListView>
  

Закругленные углы в ListViewItems

Ответ №1:

Подтверждение округления происходит из-за этой строки . вы присвоили толщину 1 нижней части

 <Setter Property="BorderThickness" Value="0,0,0,1" />
  

измените это на

  <Setter Property="BorderThickness" Value="0,0,0,0" />
  

Комментарии:

1. Я вижу — итак, базовый шаблон имеет объект border с установленным радиусом угла — и как только я создаю border, он наследует это свойство. Чтобы это исправить, мне нужно было бы создать шаблон для ListItemView?

2. По умолчанию, если вы можете проверить, что стиль ListviewItemStyle по умолчанию в controltemplate Contentpresenter заключен в рамку, а толщина наследуется с помощью Templatebinding

3. если вам нужен пользовательский стиль строки, вы можете создать свой собственный стиль ListViewItem

Ответ №2:

Я думаю, что это не имеет ничего общего с вашим стилем ListView, но со стилем вашего GridViewColumn внутри ListView. Потому что этот стиль отсутствует.

Не могли бы вы опубликовать свой образец XML-данных?