我的ListView
标题正确显示,但所有单元格都显示Initialize.ListViewItemsData
而不是我的测试数据。
Initialize
是班级。
xaml代码:
<ListView x:Name="listViewRoles" Margin="10,146,20,0" IsSynchronizedWithCurrentItem="False" >
<ListView.View>
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="IsEnabled" Value="False"/>
</Style>
</GridView.ColumnHeaderContainerStyle>
<!-- Heder -->
<GridViewColumn Header="Stato" Width="50"/>
<GridViewColumn Header="Regola" Width="400"/>
<GridViewColumn Header="Risultato" Width="320"/>
<!-- ListView Template-->
<GridViewColumn x:Name="GridViewColumnName" Header="Name" Width="200">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image x:Name="Image_GridViewColumnName" Width="20" Height="20" Source="{Binding GridViewColumnName_ImageSource}" />
<TextBlock Text="{Binding GridViewColumnName_LabelContent}" Width="400" Height="20" />
<Label Content="{Binding GridViewColumnResult}" />
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
代码背后的:
public ObservableCollection<ListViewItemsData> ListViewItemsCollections { get { return _ListViewItemsCollections; } }
ObservableCollection<ListViewItemsData> _ListViewItemsCollections = new ObservableCollection<ListViewItemsData>();
public splashForm()
{
InitializeComponent();
idSearchLbl.Content = string.Empty;
lblVersion.Content = "Versione : " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
ListViewItemsCollections.Add(new ListViewItemsData()
{
GridViewColumnName_ImageSource = @"C:\Users\develop\TFS\CorridoioNew\FrontEnd\images\avi.png",
GridViewColumnName_LabelContent = "abcdefghijk",
GridViewColumnResult ="result ..... content"
});
listViewRoles.ItemsSource = ListViewItemsCollections;
}
答案 0 :(得分:0)
如果我理解正确,您正在寻找的xaml代码是
<ListView x:Name="listViewRoles" Margin="10,146,20,0" IsSynchronizedWithCurrentItem="False" >
<ListView.View>
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="IsEnabled" Value="False"/>
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridViewColumn Header="Stato" Width="50">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image x:Name="Image_GridViewColumnName" Width="20" Height="20" Source="{Binding GridViewColumnName_ImageSource}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Regola" Width="400">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding GridViewColumnName_LabelContent}" Width="400" Height="20"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Risultato" Width="320">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Label Content="{Binding GridViewColumnResult}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
如果您不需要指定文本容器类型,可以在ItemContainerStyle中指定行高并使用
简化这些绑定<ListView x:Name="listViewRoles" Margin="10,146,20,0" IsSynchronizedWithCurrentItem="False" >
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Height" Value="20"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="IsEnabled" Value="False"/>
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridViewColumn Header="Stato" Width="50">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image x:Name="Image_GridViewColumnName" Width="20" Height="20" Source="{Binding GridViewColumnName_ImageSource}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Regola" Width="400" DisplayMemberBinding="{Binding GridViewColumnName_LabelContent}"/>
<GridViewColumn Header="Risultato" Width="320" DisplayMemberBinding="{Binding GridViewColumnResult}"/>
</GridView>
</ListView.View>
</ListView>
你的代码可以正常使用这两种方法。