WPF 如何像网页那样显示一个产品列表
一列的内容有图片和产品名称。用listview 绑定数据后,只能显示多行,不能设置显示多少列。请高手赐教

解决方案 »

  1.   

    listview 绑定数据后,再用模板修饰
      

  2.   


    就是不知如何修饰阿,比如说我有一个用户控件,要绑定到某个XML,显示为4行三列,这个怎么弄?
      

  3.   

    <ListView  Margin="0" ItemsSource="{Binding Collection}" BorderThickness="0" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" UseLayoutRounding="False" IsHitTestVisible="True">
                <ListView.View>
                    <GridView>
                        <GridView.Columns >
                            <GridViewColumn >
                                <GridViewColumn.CellTemplate>
                                    <DataTemplate>
                                        <local:Uc_H_ShortInfoNew Height="113.498" Width="102.5"/>
                                    </DataTemplate>
                                </GridViewColumn.CellTemplate>
                            </GridViewColumn>
                          
                        </GridView.Columns>
                    </GridView>
                </ListView.View>
            </ListView>例如上面的代码显示出来的样子只能是多行,不能指定显示多少列如果改成下边的代码,显示的一行上的东西都是相同的,请问怎么处理
    GridView.Columns >
                            <GridViewColumn >
                                <GridViewColumn.CellTemplate>
                                    <DataTemplate>
                                        <local:Uc_H_ShortInfoNew Height="113.498" Width="102.5"/>
                                    </DataTemplate>
                                </GridViewColumn.CellTemplate>
                            </GridViewColumn>
                            <GridViewColumn >
                                <GridViewColumn.CellTemplate>
                                    <DataTemplate>
                                        <local:Uc_H_ShortInfoNew Height="113.498" Width="102.5"/>
                                    </DataTemplate>
                                </GridViewColumn.CellTemplate>
                            </GridViewColumn>
                            <GridViewColumn >
                                <GridViewColumn.CellTemplate>
                                    <DataTemplate>
                                        <local:Uc_H_ShortInfoNew Height="113.498" Width="102.5"/>
                                    </DataTemplate>
                                </GridViewColumn.CellTemplate>
                            </GridViewColumn>
                          
                        </GridView.Columns>
      

  4.   

    模板不是你这样用的,而是针对特定控件写好后,再直接套用的,
    你可以看看这篇文章:
    WPF 详解模板
    http://www.cnblogs.com/dingli/archive/2011/07/20/2112150.html
      

  5.   

    一个两列的  listview 模板 <DataTemplate x:Key="ListBoxDataTemplateForTraffic2" >        <Border BorderThickness="4" Background="Transparent" CornerRadius="4">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="2*"></ColumnDefinition>
                        <ColumnDefinition Width="*"></ColumnDefinition>
                    </Grid.ColumnDefinitions>
                    <!--<GridSplitter Grid.Column="0" Background="Black" Width="5" VerticalAlignment="Stretch"></GridSplitter>-->
                    <TextBlock Padding="0 -5" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="0" Background="Transparent" FontWeight="Bold" Foreground="#FFF0F0F0" Text="{Binding Path=Name}">
                    </TextBlock>                <TextBlock Margin="8 0 0 0" Visibility="{Binding Path=vis}" Padding="0 -5" FontSize="14" Grid.Column="2" HorizontalAlignment="Right" VerticalAlignment="Top" Background="Transparent" Foreground="#FFF0F0F0" Text="{Binding Path=KpiValue}" ></TextBlock>
                </Grid>        </Border>
        </DataTemplate>
      

  6.   

    使用   ItemTemplate="{StaticResource ListBoxDataTemplateForTraffic2}"  调用