如何在Windows Phone 7中显示包含嵌入表的行?

时间:2010-07-30 00:36:20

标签: silverlight windows-phone-7

我正在开发一个具有以下格式的行的应用。为了清晰起见,我对行进行了编号。行交替背景,因此偶数行都是一种颜色而奇数行是另一种颜色。我使用包含x行的网格工作,并在每行中创建另一个包含两行和两列的网格来组织数据。我是WP7开发人员的新手,对Silverlight有一点经验。似乎应该有一种更简单的方法,但我还没有找到合适的用户控件。感觉就像我正在努力做到这一点,但我还没有找到为这种布局设计的用户控件。

--------------------------------
1       label: data
               more data
--------------------------------
2       label: data
               more data
--------------------------------
3       label: data
               more data
--------------------------------

1 个答案:

答案 0 :(得分:0)

您可以使用ListBox而不是嵌套网格来执行此操作 例如,创建一个新的列表项目并执行以下操作:

在mainpage.xaml中,将第35行更改为以下内容:

<StackPanel x:Name="DataTemplateStackPanel" Orientation="Horizontal" Background="{Binding Converter={StaticResource myconverter}}">

将以下内容添加到app.xaml:

<Application.Resources>
    <alternateRows:MyConverter x:Key="myconverter" />
</Application.Resources>

使用以下

添加一个名为MyConverter的新类
public class MyConverter: IValueConverter
{
    bool flag = false;

    SolidColorBrush brush1 = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));
    SolidColorBrush brush2 = new SolidColorBrush(Color.FromArgb(255, 0, 0, 255));

    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        flag = !flag;
        return flag ? brush1 : brush2;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

这应该作为一个工作示例服务器,您可以根据需要进行调整。