C# ListView.Items.Add()显示WpfApplication1.main窗口+;项目而不是我的值
我有一个ListView,我试图以编程方式在其中添加项。问题是ListView显示的不是我的值,而是WPFAApplication2.MainWindow+项,而不是我的值 这是我用来添加项目的代码:C# ListView.Items.Add()显示WpfApplication1.main窗口+;项目而不是我的值,c#,xaml,C#,Xaml,我有一个ListView,我试图以编程方式在其中添加项。问题是ListView显示的不是我的值,而是WPFAApplication2.MainWindow+项,而不是我的值 这是我用来添加项目的代码: private void Window_Loaded(object sender, RoutedEventArgs e) { ItemL item = new ItemL { ID = 1, N
private void Window_Loaded(object sender, RoutedEventArgs e)
{
ItemL item = new ItemL
{
ID = 1,
NAME = "Test",
PING = "Test"
};
ServerLister.Items.Add(item);
}
public class ItemL
{
public int ID { get; set; }
public string NAME { get; set; }
public string PING { get; set; }
}
这是我的listView XAML:
<ListView x:Name="ServerLister" ItemContainerStyle="{StaticResource LVitem}" Height="520" Margin="10,130,10,0" FontSize="28" FontFamily="/WpfApplication2;component/Resources/#Purista SemiBold" Background="#66181F2C" BorderBrush="{x:Null}" BorderThickness="1.000001" SelectionChanged="ListView_SelectionChanged" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListView.View>
<GridView ColumnHeaderContainerStyle="{StaticResource ColumnHeader}" AllowsColumnReorder="False" >
<GridViewColumn Header=" ID" Width="0" DisplayMemberBinding="{Binding ID}" />
<GridViewColumn Header=" NAME" Width="500" DisplayMemberBinding="{Binding NAME}" />
<GridViewColumn Header=" PING" Width="100" DisplayMemberBinding="{Binding PING}" />
</GridView>
</ListView.View>
</ListView>
这是ItemContainerStyle:
<Style x:Key="LVitem" TargetType="{x:Type ListViewItem}">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#663F5768" Offset="0"/>
<GradientStop Color="#992E4051" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Grid SnapsToDevicePixels="true">
<Grid>
<Border Padding="{TemplateBinding Padding}" Grid.RowSpan="2">
<ContentPresenter x:Name="ItemContent" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="0,0,0,1" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</Grid>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#66597B93" Offset="0"/>
<GradientStop Color="#99364B5F" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="BorderBrush" Value="{x:Null}"/>
</Trigger>
<Trigger Property="IsSelected" Value="true">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFDADADA" Offset="1"/>
<GradientStop Color="White" Offset="0"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="BorderBrush" Value="{x:Null}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我做错了什么?正如我在评论中所提到的,问题在于你的物品内容风格 将您样式中的内容更改为GridViewRowPresenter
<Grid SnapsToDevicePixels="true">
<Grid>
<Border Padding="{TemplateBinding Padding}" Grid.RowSpan="2">
<GridViewRowPresenter />
</Border>
</Grid>
</Grid>
此代码应该有效!其中显示的是asWpfApplication2.main窗口+项。发布您的ItemsContainer样式同样,它看起来是这样的:,我将MainWindow重命名为LauncherTest,这就是为什么在图像中它不是。MainWindow.Post您的ItemContainerStyle我用ItemContainerStyle编辑了文章