繁体   English   中英

WPF-删除列表视图 gridview 的最后一个空列

[英]WPF- remove last empty column of listview gridview

我是 WPF 的新手。 在 WPF 应用程序中,我使用了 Listview

在下面显示列表视图的快照:-

在此处输入图片说明

问题是列表视图(gridview)中网格列标题和垂直滚动条之间的空白

我认为这是因为网格的最后一个空白列有什么方法可以删除空白列或任何对齐属性来扩展我的列“设备名称”的宽度

下面是我用于 Listview-Gridview 的 XAML

 <ListView x:Name="lstviewDevices"  Height="263"  ScrollViewer.HorizontalScrollBarVisibility="Disabled" HorizontalAlignment="Left" Margin="37,89,0,0" VerticalAlignment="Top" Width="128" SelectionChanged="lstviewDevices_SelectionChanged">
 <ListView.Resources>

             <Style TargetType="{x:Type GridViewColumnHeader}">
                    <Setter Property="HorizontalContentAlignment" Value="Left" />
                    <Setter Property="Background" Value="#adb8ca" />
                    <Setter Property="Foreground" Value="#fff" />
                    <Setter Property="FontSize" Value="15" />
                    <Setter Property="FontFamily" Value="sans-serif" />
                    <Setter Property="FontWeight" Value="SemiBold" />

                    <!--<Setter Property="Margin" Value="3,0,-7,1" />-->
                </Style>
                <Style TargetType="{x:Type ListViewItem}">
                    <Setter Property="HorizontalContentAlignment" Value="Left" />
                    <Setter Property="Background" Value="White" />
                    <Setter Property="Foreground" Value="#337ab7" />
                    <Setter Property="FontSize" Value="13" />
                    <Setter Property="FontFamily" Value="Roboto" />

                </Style>
            </ListView.Resources>
            <ListView.View>
                    <GridView>
                    <GridViewColumn   Header="Device Name" Width="Auto"  DisplayMemberBinding="{Binding DeviceName}"/>
                </GridView>
            </ListView.View>


        </ListView>

是否有相同的输入?

提前致谢

我稍微修改了你的代码..尝试在你的列表视图中设置填充并根据你的要求修改它

   <ListView x:Name="lstviewDevices" Padding="0,0,-3,0"  Height="263"  ScrollViewer.HorizontalScrollBarVisibility="Disabled" HorizontalAlignment="Left" Margin="37,89,0,0" VerticalAlignment="Top" Width="228" >
            <ListView.Resources>

                <Style TargetType="{x:Type GridViewColumnHeader}">
                    <Setter Property="HorizontalContentAlignment" Value="Left" />
                    <Setter Property="Background" Value="#adb8ca" />
                    <Setter Property="Foreground" Value="#fff" />
                    <Setter Property="FontSize" Value="15" />
                    <Setter Property="FontFamily" Value="sans-serif" />
                    <Setter Property="FontWeight" Value="SemiBold" />

                    <!--<Setter Property="Margin" Value="3,0,-7,1" />-->
                </Style>
                <Style TargetType="{x:Type ListViewItem}">
                    <Setter Property="HorizontalContentAlignment" Value="Left" />
                    <Setter Property="Background" Value="White" />
                    <Setter Property="Foreground" Value="#337ab7" />
                    <Setter Property="FontSize" Value="13" />
                    <Setter Property="FontFamily" Value="Roboto" />

                </Style>
            </ListView.Resources>
            <ListView.View>
                <GridView>
                    <GridViewColumn   Header="Device Name" Width="Auto"  DisplayMemberBinding="{Binding DeviceName}"/>
                </GridView>
            </ListView.View>


        </ListView>

您可以使用网格来定义列宽,然后将网格视图与网格绑定。

<Grid Grid.Row="1">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <Grid Grid.Column="0" x:Name="col1"/>
                    <Grid Grid.Column="1" x:Name="col2"/>
                </Grid>
                <ListView Grid.Row="1">
                    <ListView.View>
                        <GridView>
                            <GridView.Columns>
                                <GridViewColumn Header="col1Header" Width="{Binding ElementName=col1, Path=ActualWidth}">
                                    <GridViewColumn.CellTemplate>
                                        <DataTemplate>
                                            <TextBlock Text="{Binding}"/>
                                        </DataTemplate>
                                    </GridViewColumn.CellTemplate>
                                </GridViewColumn>
                                <GridViewColumn Header="col2Header" Width="{Binding ElementName=col2, Path=ActualWidth}">
                                    <GridViewColumn.CellTemplate>
                                        <DataTemplate>
                                            <TextBlock Text="{Binding}"/>
                                        </DataTemplate>
                                    </GridViewColumn.CellTemplate>
                                </GridViewColumn>
                            </GridView.Columns>
                        </GridView>
                    </ListView.View>
                </ListView>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM