【发布时间】:2014-07-20 07:31:03
【问题描述】:
我在这里学习教程:http://www.wpf-tutorial.com/datagrid-control/introduction/
我设置了 DataGrid,使用数据源创建了一个集合,并将 DataGrid 的 ItemsSource 设置为该集合。运行程序后,似乎行数是正确的,但所有行都是空白的。我需要进行哪些更改才能使数据正确显示?
xaml:
<Window x:Class="Task_Timer.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Task Timer" Height="284" Width="598" MinWidth="500" MinHeight="400">
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<DataGrid x:Name="ProcessBox" Margin="0" SelectionMode="Extended" ScrollViewer.HorizontalScrollBarVisibility="Hidden" GridLinesVisibility="None" AutoGenerateColumns="False" IsManipulationEnabled="True" IsReadOnly="True" HorizontalAlignment="Left" Width="285">
<DataGrid.Columns>
<DataGridTextColumn Header="Process" Binding="{Binding ProcessName}" />
<DataGridTextColumn Header="Memory" Binding="{Binding Memory}" />
</DataGrid.Columns>
</DataGrid>
<Button Content="Button" Grid.Column="1" HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Top" Width="75"/>
</Grid>
</Window>
C#:
namespace Task_Timer
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
List<ProcessContainer> items = new List<ProcessContainer>();
foreach (Process process in Process.GetProcesses())
{
items.Add(new ProcessContainer(process.ProcessName, 10));
}
ProcessBox.ItemsSource = items;
}
}
public class ProcessContainer
{
public string ProcessName;
public int Memory;
public ProcessContainer(string name, int memory)
{
ProcessName = name;
Memory = memory;
}
}
}
【问题讨论】:
标签: c# wpf datagridview