gpt4 book ai didi

wpf - 将 List 绑定(bind)到 GridViewColumn

转载 作者:行者123 更新时间:2023-12-05 01:21:39 25 4
gpt4 key购买 nike

我有一个 GridView,如下所示。

<Grid>
<ListView Margin="8,44,8,50" TabIndex="57" Name="CustomFieldList">
<ListView.View>
<GridView AllowsColumnReorder="False">
<GridViewColumn Header="Semester Name" Width="120" DisplayMemberBinding="{Binding FieldName}"/>
<GridViewColumn Header="Subjects" Width="150" DisplayMemberBinding="{Binding TypeValidations}"/>
</GridView>
</ListView.View>
</ListView>
</Grid>

我的课是;

  public class DigreePrograme
{
public string semester{ get; set; }
public List<string> subjects { get; set; }
}

我有一个观察者集合,我已将其绑定(bind)到列表中。

static ObservableCollection<DigreePrograme> digreeList = new   ObservableCollection<DigreePrograme>();
public ObservableCollection<DigreePrograme> DigreeList
{
get { return digreeList }
set { digreeList = value; OnPropertyChanged("DigreeList"); }
}

FormFoad

CustomFieldList.ItemsSource=DigreeList;  

问题
semester 属性完美显示。但是 Subject 列表没有。它显示为 Collection。如何解决这个问题?

最佳答案

您可以在 GridViewColumnDataTemplate 中添加一个 ItemsControl 以显示所有 Subject 项目

xaml:

<Window x:Class="WpfApplication11.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="275" Width="275" x:Name="UI">
<Grid>
<ListView Name="CustomFieldList" ItemsSource="{Binding ElementName=UI, Path=DigreeList}" >
<ListView.View>
<GridView AllowsColumnReorder="False">
<GridViewColumn Header="Semester Name" Width="120" DisplayMemberBinding="{Binding Semester}"/>
<GridViewColumn Header="Subjects" Width="150" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding Subjects}" Width="150" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>

代码:

public partial class MainWindow : Window 
{
public MainWindow()
{
InitializeComponent();
DigreeList.Add(new DigreePrograme { Semester = "Semester 1", Subjects = new List<string>(new string[] {"Math","Art","Engish" }) });
}

private ObservableCollection<DigreePrograme> digreeList = new ObservableCollection<DigreePrograme>();
public ObservableCollection<DigreePrograme> DigreeList
{
get { return digreeList; }
set { digreeList = value;}
}
}

public class DigreePrograme
{
public string Semester { get; set; }
public List<string> Subjects { get; set; }
}

结果:

enter image description here

关于wpf - 将 List<string> 绑定(bind)到 GridViewColumn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14230300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com