簡単なテーブル構造をHTMLとXAMLで記述してみた。
単純な表をHTMLで表示
<html>
<body>
<table border=1>
<tr>
<td>テキスト1</td>
<td>テキスト2</td>
</tr>
<tr>
<td>テキスト3</td>
<td>テキスト4</td>
</tr>
</table>
</body>
</html>
xml version="1.0" encoding="UTF-8" standalone="yes"
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlnsx="http://schemas.microsoft.com/winfx/2006/xaml"
Margin="10">
<Border HorizontalAlignment="Left" VerticalAlignment="top"
BorderThickness="1" BorderBrush="DarkGray">
<Grid>
<GridRowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</GridRowDefinitions>
<GridColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</GridColumnDefinitions>
<Border GridRow="0" GridColumn="0" Margin="2,2,1,1"
BorderThickness="1" BorderBrush="DarkGray">
<TextBlock Margin="3,5,3,5">テキスト1</TextBlock>
</Border>
<Border GridRow="0" GridColumn="1" Margin="1,2,2,1"
BorderThickness="1" BorderBrush="DarkGray">
<TextBlock Margin="3,5,3,5">テキスト2</TextBlock>
</Border>
<Border GridRow="1" GridColumn="0" Margin="2,1,1,2"
BorderThickness="1" BorderBrush="DarkGray">
<TextBlock Margin="3,5,3,5">テキスト3</TextBlock>
</Border>
<Border GridRow="1" GridColumn="1" Margin="1,1,2,2"
BorderThickness="1" BorderBrush="DarkGray">
<TextBlock Margin="3,5,3,5">テキスト4</TextBlock>
</Border>
</Grid>
</Border>
</Page>
何がわかったか
HTMLの方が記述が簡単である、改めてHTMLというマークアップ言語が単純で表現力が高いか思い知らされた。XAMLは記述が非常に冗長である、レイアウトのバランスを細かく指定する必要がある。
テーブル枠という概念がSilverlightには無い、テーブルの枠線全ての描画指定が必要である。
実際にはHTMLは外観はCSSで定義するので上記のケースの様には行かないが、XAMLは自由度が高い反面、記述は凄まじくメンドクサイのだ。
そもそもテーブルなんてHTMLで表示させりゃいいじゃん?全てXAMLで書きたいのだ。