2010-07-30 68 views
0

我正在研究具有以下格式的行的应用程序。为了清晰起见,我已对行进行编号。行交替的背景,所以偶数行都是一种颜色,奇数行是另一种颜色。我已经使用包含x行的网格工作,并且在每一行中,我创建了另一个具有两行两列的网格来组织数据。我是WP7开发新手,对Silverlight有一点经验。这似乎应该有一个更简单的方法来做到这一点,但我还没有找到合适的用户控制。感觉就像我这样做很难,但我还没有找到用于此布局的用户控件。如何在Windows Phone 7中显示嵌入表格的行?

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

回答

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

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

+0

谢谢,至于排列与两行数据的标签,我应该继续使用嵌入式网格还是有另一种控制,使您可以用较少的工作做到这一点? – CACuzcatlan 2010-08-02 21:41:16

+0

网格似乎完全可以接受。这是网格中的网格,为我敲响警钟。只有一行或一列的网格也有更好的选择。如StackPanel或ListBox(取决于您的需要)。在你的情况下,你可以考虑一个水平对齐的堆栈面板。 另外,如果有帮助,请投票或接受答案。 – 2010-08-03 08:11:32

相关问题