如何在 windows phone 8.1 中删除 ListBox 项目选择边框或默认边距
How to remove ListBoxitem selection border or defautl margin in windows phone 8.1
我想要hide/remove ListBox 和 listboxitem 的边框,并且还选择了 listboxitems 边框。
还有一件事如何从 ListView 中删除点击感觉。
请查看附件屏幕
我只想删除列表框项和所选列表项周围边框之间的边距。
我该怎么做?
Background="#0C2C40"
BorderThickness="0"
HorizontalContentAlignment="Stretch"
Margin="0,0,0,0"
ItemsSource="{Binding ListBrand}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="400" Height="60" Background="#113F5B" HorizontalAlignment="Stretch" Margin="0,0,0,1" VerticalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" VerticalAlignment="Center">
<TextBlock Style="{StaticResource BrandsTextblock}" Text="{Binding Rank}"></TextBlock>
</StackPanel>
<StackPanel Grid.Column="1" VerticalAlignment="Center">
<TextBlock Style="{StaticResource BrandsTextblock}" Text="{Binding Name}" HorizontalAlignment="Left"></TextBlock>
</StackPanel>
<StackPanel Grid.Column="2" VerticalAlignment="Center">
<TextBlock Foreground="#FDBE0F" Style="{StaticResource BrandsTextblock}" Text="{Binding Insertion}"></TextBlock>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
既然您不想向用户显示选择边框并且您不想要边距那么为什么不使用 ListView。您尝试实现的更改可以在 ListView 中轻松完成。就像您可以将 IsItemClickEnabled 设置为 true 或 false 或将 SelectionMode 属性 设置为 none。此外,通过设置 itemcontainer 样式,您可以去掉边距。
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
希望对您有所帮助。
我想要hide/remove ListBox 和 listboxitem 的边框,并且还选择了 listboxitems 边框。
还有一件事如何从 ListView 中删除点击感觉。
请查看附件屏幕
我只想删除列表框项和所选列表项周围边框之间的边距。
我该怎么做?
Background="#0C2C40"
BorderThickness="0"
HorizontalContentAlignment="Stretch"
Margin="0,0,0,0"
ItemsSource="{Binding ListBrand}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="400" Height="60" Background="#113F5B" HorizontalAlignment="Stretch" Margin="0,0,0,1" VerticalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" VerticalAlignment="Center">
<TextBlock Style="{StaticResource BrandsTextblock}" Text="{Binding Rank}"></TextBlock>
</StackPanel>
<StackPanel Grid.Column="1" VerticalAlignment="Center">
<TextBlock Style="{StaticResource BrandsTextblock}" Text="{Binding Name}" HorizontalAlignment="Left"></TextBlock>
</StackPanel>
<StackPanel Grid.Column="2" VerticalAlignment="Center">
<TextBlock Foreground="#FDBE0F" Style="{StaticResource BrandsTextblock}" Text="{Binding Insertion}"></TextBlock>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
既然您不想向用户显示选择边框并且您不想要边距那么为什么不使用 ListView。您尝试实现的更改可以在 ListView 中轻松完成。就像您可以将 IsItemClickEnabled 设置为 true 或 false 或将 SelectionMode 属性 设置为 none。此外,通过设置 itemcontainer 样式,您可以去掉边距。
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
希望对您有所帮助。