
一つ前のエントリの成果を受けて、銘柄リストアドインのリスト部分の見た目は完全にはっちゅう君プラスの配色に準拠しました。はっちゅう君プラスのツール-オプションメニューから配色を選択すると、それに応じてちゃんと変わります。
いつもの所のファイル置き場からどうぞ。
列の区切りに罫線が惹かれてないのが心残りだけど、これ、GridViewのスタイルかテンプレートに手を出さないといけないのかなあ。まあ深入りはしないでおこう。
最近はARToolkitPlusとC#, WPFの組み合わせで遊んでいます。
他に扱う内容は、自身の健康状態の記録と、後述の「身も蓋もない」開発で学ぶ事になった.Net Framework, C#, WPFなどの話題や、「身も蓋もない」開発の副産物であるスキップリストを.Net Framework上で実装したライブラリなどについての技術的な話題です。スキップリストのライブラリはメソッドのオーバーライドにより任意の区間に渡っての可換半群の総和計算を高速に行える汎用性の高さを持っています。
また、クリック証券のトレードツール はっちゅう君プラス 用の アドイン 「身も蓋もない」 の開発記録が残されています。「身も蓋もない」は合理的なティック・四本値の可視化と極限まで単純化された注文機能でデイの裁量トレードを強力に支援します。
<ListView Grid.Row="3" Name="StockList" ItemsSource="{Binding}" VerticalAlignment="Stretch" SelectionMode="Single" Background="#FFEDFEED">
<ListView.Resources>
<ControlTemplate TargetType="{x:Type ListViewItem}"
x:Key="ListViewItemWithoutAnyTrigger">
<Border Name="Bd"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}"
SnapsToDevicePixels="true">
<GridViewRowPresenter
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
</ControlTemplate>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Header="コード" Width="Auto"
DisplayMemberBinding="{Binding Path=Code}" />
・・・ほにゃらら・・・
</GridView>
</ListView.View>
</ListView>
public class StockListItemStyleSelector : StyleSelector
{
public Color Back1 = Colors.White, Fore1 = Colors.Black,
Back2 = Colors.White, Fore2 = Colors.Black,
BackSelection = Colors.Red, ForeSelection = Colors.Green,
Rule = Colors.Beige;
public override Style SelectStyle(object item, DependencyObject container)
{
ListView listView = ItemsControl.ItemsControlFromItemContainer(container) as ListView;
int index = listView.ItemContainerGenerator.IndexFromContainer(container);
Style stockListItemStyle = new Style(typeof(ListViewItem));
//トリガーを除いたテンプレートに設定
stockListItemStyle.Setters.Add(new Setter(ListViewItem.TemplateProperty,
listView.Resources["ListViewItemWithoutAnyTrigger"]));
//背景色、前景色を縞々にする
stockListItemStyle.Setters
.Add(new Setter(ListViewItem.BackgroundProperty,
new SolidColorBrush(index % 2 == 0 ? Back1 : Back2)));
stockListItemStyle.Setters
.Add(new Setter(ListViewItem.ForegroundProperty,
new SolidColorBrush(index % 2 == 0 ? Fore1 : Fore2)));
//罫線を設定する
stockListItemStyle.Setters
.Add(new Setter(ListViewItem.BorderBrushProperty,
new SolidColorBrush(Rule)));
stockListItemStyle.Setters
.Add(new Setter(ListViewItem.BorderThicknessProperty,
new Thickness(index==0?1:0, 1, 1, 1)));
//選択行の色を設定する
Trigger selectionTrigger = new Trigger() {
Property = ListViewItem.IsSelectedProperty,
Value = true
};
selectionTrigger.Setters.Add(new Setter(ListViewItem.BackgroundProperty,
new SolidColorBrush(BackSelection)));
selectionTrigger.Setters.Add(new Setter(ListViewItem.ForegroundProperty,
new SolidColorBrush(ForeSelection)));
stockListItemStyle.Triggers.Add(selectionTrigger);
return stockListItemStyle;
}
}
Trigger selectionTrigger = new Trigger(){
Property = ListViewItem.IsSelectedProperty,
Value = true
};
selectionTrigger.Setters.Add(new Setter(ListViewItem.BackgroundProperty, Brushes.Chocolate));
selectionTrigger.Setters.Add(new Setter(ListViewItem.ForegroundProperty, Brushes.DarkOrange));
Style selectionStyle=new Style(typeof(ListViewItem));
selectionStyle.Triggers.Add(selectionTrigger);
stockListPanel.StockList.ItemContainerStyle = selectionStyle;
クリック証券提供のトレードツール はっちゅう君プラス の アドイン 「身も蓋もない」 の詳細サイトへGo!
損益計算アドイン(225ミニ及びラージ用)、株式銘柄リストアドイン(登録した銘柄のダブルクリックで注文フォームが起動)、及びアドイン開発の副産物であるスキップリストのC#による.Net実装も同じサイトのファイル置き場に置いてあります。
アドインやソースコードが役立ったという方は
経由でtomorrowplusplus at gmail.com(atはアットマーク)宛てに寄付を行う事ができます。
このブログ内の「身も蓋もない」を実際に使用し始めてからの記録はこちら。私自身には才能がないのでネガティブキャンペーンになりかねないですが(汗)。⇒阿呆な事をしたらまじでネガキャンになりました。まじめにデイトレした時期にはちゃんと利益が出ているので、せっかくだから記事は残しておきます。