Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ListView.Items.Add()显示WpfApplication1.main窗口+;项目而不是我的值_C#_Xaml - Fatal编程技术网

C# ListView.Items.Add()显示WpfApplication1.main窗口+;项目而不是我的值

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

我有一个ListView,我试图以编程方式在其中添加项。问题是ListView显示的不是我的值,而是WPFAApplication2.MainWindow+项,而不是我的值

这是我用来添加项目的代码:

        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编辑了文章