【发布时间】:2014-10-26 12:50:47
【问题描述】:
我的 GridView 有这个模板:
<DataTemplate x:Key="GroupTemplate1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Background="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}" Margin="0,9.5,0,0">
<Image Source="{Binding Property3}" Height="79" Width="79"/>
</Border>
<!-- <StackPanel Grid.Column="1" Margin="14.5,0,0,0">
<TextBlock Text="{Binding Property1}" Style="{ThemeResource ListViewItemTextBlockStyle}"/>
<TextBlock Text="{Binding Property2}" Style="{ThemeResource ListViewItemSubheaderTextBlockStyle}"/>
</StackPanel> -->
</Grid>
</DataTemplate>
如您所见,每个项目都有三个信息:Property3(图像)、Property2(文本)、Property1(文本)。
如何使用这三个字段创建和添加一个新的 ListViewItem 并以编程方式将其添加到 GridView?
类似:
//
gridView1.Add(new ListViewItem("imagename", "text1", "text2");
//
【问题讨论】:
-
是否有特殊原因您没有将 GridView 包装在 ListView 中并将 ListView 的 ItemsSource 设置为与 GroupTemplate 匹配的项目的集合?这是 MVVM 非常适合解决的问题,不会让人头疼,也不需要以编程方式向 UI 添加内容。
-
因为我必须在应用执行期间更改网格视图的图像
标签: c# listview gridview windows-phone-8