2015-02-11 98 views
0

ListViewItem.ListViewItem() 初始化?System.windows.controls.listViewItem类的新实例。 错误: System.Window.Controls.ListViewItem不包含一个构造函数1个参数Listview项目显示错误wpf C#

代码:

using Microsoft.Win32; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Data; 
using System.Windows.Documents; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Imaging; 
using System.Windows.Shapes; 

namespace AlisLogin.View 
{ 
    /// <summary> 
    /// Interaction logic for ControlPanel.xaml 
    /// </summary> 
    public partial class ControlPanel : Window 
    { 
     public ControlPanel() 
     { 
      InitializeComponent(); 
      SilverLightInstalled(); 
     } 

     private void SilverLightInstalled() 
     { 

     } 

     private void Button_Click_1(object sender, RoutedEventArgs e) 
     { 
      string uninstallKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"; 
      using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(uninstallKey)) 
      { 
      foreach (string skName in rk.GetSubKeyNames()) 
      { 
       using (RegistryKey sk = rk.OpenSubKey(skName)) 
       { 
        try 
        { 

         var displayName = sk.GetValue("DisplayName"); 
         var size = sk.GetValue("EstimatedSize"); 

         ListViewItem item; 
         if (displayName != null) 
         { 
          if (size != null) 
           item = new ListViewItem(new string[] {displayName.ToString(), size.ToString()}); 

          else 
           item = new ListViewItem(new string[] { displayName.ToString() }); 
           lvlUser.Items.Add(item); 
         } 
        } 
        catch (Exception ex) 
        { } 
       } 
      } 

     } 
    } 
} 

XAML:

<Grid> 
     <Button Content="Get All Programs" Margin="0 5" HorizontalAlignment="Left" VerticalAlignment="Top" Width="111" Click="Button_Click_1"/> 
     <ListView Name="lvlUser" Margin="0 30 0 0"> 
      <ListView.View> 
       <GridView> 
        <GridViewColumn Header="Name"/> 
        <GridViewColumn Header="EstimatedTime"/> 
        <GridViewColumn Header="DisplayVersion"/> 
        <GridViewColumn Header="InstallDate"/> 
        <GridViewColumn Header="Publisher"/>      
        <GridViewColumn Header="InstalledOn"/> 
       </GridView> 
      </ListView.View> 
     </ListView> 

    </Grid> 
+2

如果仔细阅读您的例外情况,并查看此https://msdn.microsoft.com/zh-CN/library/system.windows.controls.listviewitem.listviewitem(v=vs.110).aspx – 2015-02-11 06:32:43

回答

1

尝试这样的 -

item = new ListViewItem(); 
item.Content = new string[] {displayName.ToString(), size.ToString()}; 

lvlUser.Items.Add(item); 

更多信息here