我想在我的DataGrid中显示一个列表 不幸的是它什么也没显示。
我知道他们还有很多与此主题相关的主题,但是我无法将它们应用于我的解决方案。
我尝试了几件事:
template<typename Return, typename Obj, typename... Args>
void
addRouteSyncReturn(
Return (Obj::* pmf) (Args...),
)
{
...
}
ItemSource = "{Binding}"
(MainWindow.xaml.cs):
<DataGrid x:Name="ContainerGrid" HorizontalAlignment="Left" Height="187" Margin="10,222,0,0" VerticalAlignment="Top" Width="772" IsReadOnly="True" AutoGenerateColumns="True" Grid.ColumnSpan="2">
<DataGrid.Columns>
<DataGridTemplateColumn MinWidth="200" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ListBox ItemsSource="{Binding containers}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
那是我当前的DataGrid:
ContainerGrid.ItemsSource = Container.getContainerList();
那是我的课:
<DataGrid x:Name="ContainerGrid" HorizontalAlignment="Left" Height="187" Margin="10,222,0,0" VerticalAlignment="Top" Width="772" IsReadOnly="True" AutoGenerateColumns="True" Grid.ColumnSpan="2" ItemsSource="{Binding containers}"/>
这就是我将对象添加到列表的方式:
{
private string id;
private String name, version,status;
public static List<Container> containers = new List<Container>();
public Container() { }
public Container(string id,String containerName, String version,String status)
{
this.id = id;
name = containerName;
this.version = version;
this.status = status;
}
public static void AddContainerToList(Container container)
{
containers.Add(container);
}
public static List<Container> getContainerList()
{
return containers;
}
}
我看不到我犯的错误。 还请阅读有关ObservableCollections的信息,但我认为这将是需要做的大量更改。
请帮助:D
p.s。对不起,我的英语不好
答案 0 :(得分:0)
id
,name
,version
和status
定义为公共属性,DataGrid
才能生成列对于他们,以及您能够绑定到他们。
您可能还想重命名它们,以符合使用PascalCase作为属性名称的C#命名约定:
public class Container
{
public string Id { get; private set; }
public string Name { get; private set; }
public string Version { get; private set; }
public string Status { get; private set; }
public static List<Container> containers = new List<Container>();
public Container() { }
public Container(string id, String containerName, String version, String status)
{
Id = id;
Name = containerName;
Version = version;
Status = status;
}
public static void AddContainerToList(Container container)
{
containers.Add(container);
}
public static List<Container> getContainerList()
{
return containers;
}
}