2010年3月30日火曜日

番外編 変更点+ComboBoxに画像を表示する

http://wtwitter.codeplex.com/SourceControl/changeset/view/44148真新しいことはあまりやっていないんですけど、
ソースコードはだいぶいじりました。

・アイコンの位置を修正
・タイムラインの一番上のアイテムにスクロールするボタンを追加
・タイムラインの発言のユーザー名による絞り込み
・ソースコード上にユーザーを表すModel、ViewModelを追加
・オプション画面でアカウント情報(API制限残り等)を
・オプション画面でタイムラインの新規作成のインターフェイスを変更
ソースコード上ではTimelineSettingTemplateクラスに設定の生成方法を集める
などなど。

ユーザーの絞り込みにComboBoxを使って、
ComboBoxの中に画像を表示するようにしたので、
それについてひとことだけ書きます。

といっても、タイムラインの発言を表示するときに、
ListBoxのアイテムに画像を載せているのとほぼ同じですが。

TimelineViewModelがユーザーを表すUserViewModelのリストを持っています。
あとは、ViewでComboBoxのItemsSourceに指定して、


    <ComboBox ItemsSource="{Binding Path=AllUsers}" SelectedItem="{Binding Path=SelectedFilterUser, Mode=TwoWay}"
        MinWidth="70" ToolTip="ユーザーで絞り込み"/>



ResourceにDataTemplateをおいて表示方法を指定するだけです。



  <DataTemplate DataType="{x:Type vm:UserViewModel}">
   <StackPanel Orientation="Horizontal">
    <Image Source="{Binding Path=ProfileImageUrl}" Width="16" Height="16"/>
    <TextBlock Text="{Binding Path=ScreenName}"/>
   </StackPanel>
  </DataTemplate>


ComboBoxのそれぞれのアイテムがImageとTextBlockを持ったStatckPanelになります。

0 件のコメント:

コメントを投稿