代码之家  ›  专栏  ›  技术社区  ›  CACuzcatlan

如何在WindowsPhone7中显示嵌入表的行?

  •  0
  • CACuzcatlan  · 技术社区  · 15 年前

    我正在开发一个应用程序,它的行格式如下。为了清楚起见,我已经把这些行编号了。行替换背景,所以偶数行都是一种颜色,奇数行是另一种颜色。我使用一个包含x行的网格,在每行中创建一个包含两行和两列的网格来组织数据。我是WP7开发人员的新手,对Silverlight有点经验。似乎应该有一个更简单的方法来做这件事,但我还没有找到一个合适的用户控件。这感觉就像我在做这个艰难的方式,但我还没有找到一个用户控制设计的这种布局。

    --------------------------------
    1       label: data
                   more data
    --------------------------------
    2       label: data
                   more data
    --------------------------------
    3       label: data
                   more data
    --------------------------------
    
    1 回复  |  直到 15 年前
        1
  •  0
  •   Matt Lacey    15 年前

    可以使用列表框而不是嵌套的网格来实现这一点。
    例如,创建一个新的列表项目并执行以下操作:

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

    <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();
        }
    }
    

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