【发布时间】:2012-02-29 19:44:10
【问题描述】:
我制作了 2 个列表视图,其中 1 个带有图像 + 姓名和姓氏,1 个仅显示图像(在列表视图的 Wrap 面板中)。第一个:
<ListView x:Name="lsvsomething" Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" GotFocus="lsv_GotFocus" SelectionChanged="lsv_selectionchanged" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListView.View>
<GridView>
<GridViewColumn Width="auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image HorizontalAlignment="Center" VerticalAlignment="Center" Width="50" Height="50" Source="{Binding image}" Stretch="Fill"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="auto" DisplayMemberBinding="{Binding name}">
<GridViewColumnHeader Content="name" Tag="name" Click="SortClick"/>
</GridViewColumn>
<GridViewColumn Width="auto" DisplayMemberBinding="{Binding lastname}">
<GridViewColumnHeader Content="lastname" Tag="lastname" Click="SortClick" />
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
第二个(只有图片):
<ListView x:Name="lsvsomething" Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" GotFocus="lsv_GotFocus" SelectionChanged="lsv_selectionchanged" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.View>
<GridView>
<GridViewColumn Width="60">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image HorizontalAlignment="Center" VerticalAlignment="Center" Width="50" Height="50" Source="{Binding image}" Stretch="Fill"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
现在它们都有 ListView.View,我想把它们放在“模板”中吗?在 app.xaml 中,但我不知道该怎么做。第二个 Listview 也使用 ItemsPanelTemplate 使其成为一个环绕面板。我找到了如何在 app.xaml (ItemsPanel="{DynamicResource somename}") 中保存那个但是我在多个窗口上使用这个列表视图,所以我想在应用程序中同时保存它们(制作它们的模板?)。 xml 文件。然后我也应该能够在运行时切换它们。 (itemsource在“codebehind”中设置)
【问题讨论】:
-
我在用谷歌搜索 atm 并认为我必须使用 setter 为 controltemplate 制作一个样式 ^^。但随后绑定不再起作用
标签: c# wpf templates xaml listview