我有一个与数据源的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将显示每天的网格视图。
就像这样
for(int i = 0; i<10; i++)
{
flipview.list.add(processfromxml(date+i));
//Consider processfromxml() is returning a Ienumerable List
}这样FlipView将显示第一天的GridView,单击next时将显示第二天的GridView。
请帮助我们如何在windows8的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发布于 2013-04-08 19:32:11
你有像这样的循环
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;
}https://stackoverflow.com/questions/15876886
复制相似问题