C# 如何在listview WPF中显示进程?
我需要在ListView中显示所有进程,即:进程名称、ID和优先级 我试过: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元素具有正
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>