Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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 WPF中显示进程?_C#_Wpf - Fatal编程技术网

C# 如何在listview WPF中显示进程?

C# 如何在listview WPF中显示进程?,c#,wpf,C#,Wpf,我需要在ListView中显示所有进程,即:进程名称、ID和优先级 我试过: public Process[] processes; public string[] processesss; public MainWindow() { InitializeComponent(); processes = Process.GetProcesses(); ProcessInfo.ItemsSource = processes; } XAML: 你走对了方向。只需确保UI元素具有正

我需要在ListView中显示所有进程,即:进程名称、ID和优先级

我试过:

public Process[] processes;
public string[] processesss;
public MainWindow() {
   InitializeComponent();
   processes = Process.GetProcesses();
   ProcessInfo.ItemsSource = processes;
}
XAML:


你走对了方向。只需确保UI元素具有正确的绑定信息,即可从
ItemsSource
中选择属性。如果将
ListView
替换为
DataGrid
,并将其
AutoGenerateColumns
设置为
True
,可能会更容易一些。这将自动开始在网格中显示您的进程

另一方面,您可以使用
列表视图
或甚至
列表框
,但是您必须为控件设置
项目模板
,这本身就是一个广泛的主题。

试试这个

            InitializeComponent();
            processes = Process.GetProcesses();
            List<processlist> processlist = new List<processlist>();
            foreach (Process item in processes)
             {
              processlist.Add(new processlist() { id = item.Id, name = item.ProcessName });
             }
            ProcessInfo.ItemsSource = processlist;
WPF用户界面

<Grid >
        <ListView Margin="10" Name="ProcessInfo">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding name}" />
                    <GridViewColumn Header="id" Width="50" DisplayMemberBinding="{Binding id}" />
                  </GridView>
            </ListView.View>
        </ListView>
    </Grid>


请注意,您的问题过于宽泛。考虑问一个问题,描述一个特殊的和孤立的问题。这在我们的主题中得到了很好的解释。您可能希望搜索和查看一些关于WPF的指南/教程…此代码将运行并使用当前代码绑定到类似DataGrid的东西。但是,您需要为ListView创建列。您缺少
ProcessInfo.DisplayMemberPath=“ProcessName”
它的Id不是Id并且
DisplayMemberBinding=“{Binding Path=ProcessName}”
 public class processlist
{
    public int id { get; set; }
    public string name { get; set; }
}
<Grid >
        <ListView Margin="10" Name="ProcessInfo">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding name}" />
                    <GridViewColumn Header="id" Width="50" DisplayMemberBinding="{Binding id}" />
                  </GridView>
            </ListView.View>
        </ListView>
    </Grid>