我有一个GridView绑定,数据源工作正常。
public void LoadXmlData(string dateOfRunAsString)
{
IEnumerable<RetrieveFromXml> processList = from process in xmlDocument.Descendants("Process")
where process.Parent.Parent.Attribute("Date").Value == dateOfRun
select new RetrieveFromXml(process.Attribute("Name").Value, Convert.ToDouble(process.Elements("ActiveTime").Sum(sec => (int)sec)));
NameGrid.ItemTemplateSelector = myTemplateSelector;
NameGrid.ItemsSource = processesList;
}
现在问题是我需要将Gridview与flipView结合起来。
与FlipView一样,每天都会显示一个gridview。
喜欢的东西
for(int i = 0; i<10; i++)
{
flipview.list.add(processfromxml(date+i));
//Consider processfromxml() is returning a Ienumerable List
}
因此,FlipView将在第一天显示GridView,然后在单击下一步时,它将显示第二天的GridView。
请帮助如何在Windows 8中的XAML,C#中实现此目的
这是我获取数据的基础类。
public class RetrieveProcessFromXml
{
private string name;
private double activeTime;
public RetrieveFromXml(string nameFromXml,double activeTimeFromxml)
{
name = nameFromXml;
activeTime = activeTimeFromxml;
}
public string Name
{
get { return name; }
set { name = value; }
}
public double ActiveTime
{
get { return activeTime; }
set { activeTime = value; }
}
enter code here
} //End Class
答案 0 :(得分:1)
你有这样的循环
for(int i = 0; i<10; i++)
{
flipview.list.add(processfromxml(date+i));
//Consider processfromxml() is returning a Ienumerable List
}
因此,如果您要在FlipView
中添加项目,则必须添加GridView
而不是IEnumerable
列表。您必须将ItemsSource
分配给特定GridView
,然后将GridView
添加到FlipView
。
我在这里给你一个简单的例子
XAML
<Page.Resources>
<DataTemplate x:Name="MyTemplate">
<Border Background="DarkGray" Width="100" Height="100">
<TextBlock Text="{Binding}"
Foreground="White"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="30"/>
</Border>
</DataTemplate>
</Page.Resources>
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<FlipView x:Name="flipview" Height="500" Width="500"/>
</Grid>
C#
List<SolidColorBrush> colors;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
colors = new List<SolidColorBrush>
{
new SolidColorBrush(Windows.UI.Colors.Red),
new SolidColorBrush(Windows.UI.Colors.Gainsboro),
new SolidColorBrush(Windows.UI.Colors.BlanchedAlmond),
new SolidColorBrush(Windows.UI.Colors.Turquoise),
new SolidColorBrush(Windows.UI.Colors.Azure),
new SolidColorBrush(Windows.UI.Colors.Teal),
new SolidColorBrush(Windows.UI.Colors.Tan),
new SolidColorBrush(Windows.UI.Colors.PowderBlue),
new SolidColorBrush(Windows.UI.Colors.WhiteSmoke),
new SolidColorBrush(Windows.UI.Colors.SeaGreen)
};
for (int i = 0; i < 10; i++)
{
flipview.Items.Add(AddNewGridview(i));
}
}
int i = 1, j = 0;
GridView AddNewGridview(int k)
{
var gv = new GridView();
gv.Background = colors[k];
gv.ItemTemplate = this.Resources["MyTemplate"] as DataTemplate;
List<int> IDs = new List<int>();
while(i < 17 + j)
{
IDs.Add(i);
i++;
}
j = i - 1;
gv.ItemsSource = IDs;
return gv;
}