.net 使用Griview进行数据绑定
我使用Gridview显示从WCF服务获取的一些事件项。 我使用的代码 代码隐藏:.net 使用Griview进行数据绑定,.net,xaml,data-binding,gridview,windows-runtime,.net,Xaml,Data Binding,Gridview,Windows Runtime,我使用Gridview显示从WCF服务获取的一些事件项。 我使用的代码 代码隐藏: List<GroupInfoList<object>> groups = new List<GroupInfoList<object>>(); ServiceReference1.Service1Client c = new ServiceReference1.Service1Client(); List<Tag> tags=(await c.GetUs
List<GroupInfoList<object>> groups = new List<GroupInfoList<object>>();
ServiceReference1.Service1Client c = new ServiceReference1.Service1Client();
List<Tag> tags=(await c.GetUserTagsAsync(u.id)).ToList();
var q = from t in tags
orderby ((Tag)t ).tag1
group t by ((Tag)t).tag1 into g
select new { GroupName = g.Key, Items = g };
foreach (var g in q)
{
GroupInfoList<object> info = new GroupInfoList<object>();
info.Key = g.GroupName;
foreach (var item in g.Items)
{
info.Add(item);
}
groups.Add(info);
}
cvs1.Source = groups;
public class GroupInfoList<T> : List<object>
{
public object Key { get; set; }
public new IEnumerator<object> GetEnumerator()
{
return (System.Collections.Generic.IEnumerator<object>)base.GetEnumerator();
}
}
列表组=新列表();
ServiceReference1.Service1Client c=新的ServiceReference1.Service1Client();
列表标记=(等待c.GetUserTagsAsync(u.id)).ToList();
var q=从标签中的t开始
orderby((Tag)t).tag1
按((标记)t)将t分组。标记1分为g
选择新{GroupName=g.Key,Items=g};
foreach(q中的var g)
{
GroupInfoList info=新的GroupInfoList();
info.Key=g.GroupName;
foreach(g.Items中的var项)
{
信息添加(项目);
}
组。添加(信息);
}
cvs1.来源=组;
公共类GroupInfoList:List
{
公共对象密钥{get;set;}
公共新IEnumerator GetEnumerator()
{
return(System.Collections.Generic.IEnumerator)base.GetEnumerator();
}
}
WCF签名:
List<Event> GetEventsByTag(string tag);
List<Tag> GetUserTags(Guid uid);
List GetEventsByTag(字符串标记);
列出GetUserTags(Guid uid);
XAML
问题是我不知道在文本块(用XXX标记)中的数据绑定中放什么,这样我就可以将它绑定到我源代码中每个事件的title属性了?最终修复了它
在C#中,我将代码修改为这样
foreach (var g in q)
{
GroupInfoList<object> info = new GroupInfoList<object>();
info.Key = g.GroupName;
foreach (var item in g.Items)
{
foreach (var ev in item.Events)
{
info.Add(ev);
}
}
groups.Add(info);
foreach(q中的变量g)
{
GroupInfoList info=新的GroupInfoList();
info.Key=g.GroupName;
foreach(g.Items中的var项)
{
foreach(项目事件中的var ev)
{
信息添加(ev);
}
}
组。添加(信息);
在XAML中
<TextBlock TextWrapping="Wrap" Style="{StaticResource ItemTitleStyle}" Width="200" VerticalAlignment="Center" Text="{Binding title}"
HorizontalAlignment="Left" FontFamily="Segoe UI" />
<TextBlock TextWrapping="Wrap" Style="{StaticResource ItemTitleStyle}" Width="200" VerticalAlignment="Center" Text="{Binding title}"
HorizontalAlignment="Left" FontFamily="Segoe UI" />