前回に引き続き、@ITの連載でAIRを使って作ってるRSS ReaderをWPFで模倣してみようと思う。
前回の終わりの時点では、下のような感じだった。
まだ、左半分がそれっぽくなっただけのところでとまってる。
右半分は、上下に3対7の比率で分割している。
上側にGrid、下側にFrameを配備する形になる。Gridには、日付(120px)、タイトル、リンクを表示する。
ここまで決まったら、早速作りに入ろう!
<Window x:Class="WpfRssReader.RssReaderWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="RSSリーダ" Height="600" Width="800"
Style="{StaticResource windowStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="3" />
<ColumnDefinition Width="7*" />
</Grid.ColumnDefinitions>
<!-- 左半分の部分は省略 -->
<Grid Grid.Column="2">
<Grid.RowDefinitions>
<RowDefinition Height="3*" />
<RowDefinition Height="3" />
<RowDefinition Height="7*" />
</Grid.RowDefinitions>
<HeaderedContentControl Grid.Row="0"
Header="記事一覧"
Style="{StaticResource rssHeaderedContentControlStyle}">
<ListView>
<ListView.View>
<GridView>
<GridViewColumn Header="日付" Width="120" />
<GridViewColumn Header="タイトル" />
<GridViewColumn Header="リンク" />
</GridView>
</ListView.View>
</ListView>
</HeaderedContentControl>
<GridSplitter Grid.Row="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"/>
<HeaderedContentControl Grid.Row="2"
Header="内容"
Style="{StaticResource rssHeaderedContentControlStyle}">
<Border BorderBrush="Black" BorderThickness="1">
<Frame />
</Border>
</HeaderedContentControl>
</Grid>
</Grid>
</Window>
これを実行すると、下のような感じになる。
イメージとしては、@ITの連載2回目の図14くらいを目指してるけど、微妙に違う!
とりあえず、目だって違うのは、RSS一覧と記事一覧と内容の周りに枠が無いことだろう。
これをちょっと似せてみようと思う。
ちょっとのつもりが、Styleとかを適用してたら結構かわっちゃった。
基本的には、Templateの調整が主です。
地味にWindow自体にTemplateをあててるので若干参考になるかな?
この時点のプロジェクトはこちら。
明日は出張なのでここまでzzz...
、