2010-07-30 82 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

相關問題