スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    【WPF】ListBoxのItemの幅がListBoxの幅にならない

    ListBoxのアイテムに画像とかボタンとか出そうといじっていてはまったのでメモ。

    どこではまったかというと、ListBoxItemの幅。

                <ListBox.ItemTemplate>
                    <DataTemplate>
                            <Border BorderThickness="1" BorderBrush="Black">
                            <DockPanel>
                                <Image DockPanel.Dock="Left"  Width="32" Height="32"/>
                                <Button DockPanel.Dock="Right">aaaaaaaaaaaaaaaaa</Button>
                                <TextBlock Text="aaaa" />
                            </DockPanel>
                            </Border>
                    </DataTemplate>
                </ListBox.ItemTemplate>

    こんな感じでItemTemplateを設定しても、横いっぱいに広がってくれないのでボタンが右端に行ってくれない。

    ListBoxのItemの幅


    でグーグル先生に聞いたところ解決策を発見。
               <ListBox.ItemContainerStyle>
                    <Style>
                        <Setter Property="ListBoxItem.HorizontalContentAlignment" Value="Stretch"/>
                    </Style>
                </ListBox.ItemContainerStyle>

    これで解決。(ここに書いてました。)
    ListBoxのItemの幅2
    スポンサーサイト

    テーマ : プログラミング
    ジャンル : コンピュータ

    WPFでフォームの枠の半透明(グラスフレーム)をクライアント領域まで設定する方法

    WPFのWindowのハンドルを取得する方法を探していて、面白いの見つけました。

    Windows VistaやWindows 7で使われるエアロのフレーム(半透明の枠ね)を
    アプリのクライアント領域にまで拡張する方法。
    IEはアドレスバーとか検索ボックスの周りまで半透明になってますが、
    あれをやる方法ですね。

    WPF アプリケーションへのグラス フレームの拡張

    ↓こんな感じになります。
    半透明のフレーム拡張例



    ちなみに、目的のハンドルですが、

     IntPtr mainWindowPtr = new WindowInteropHelper(this).Handle;

    でとれるようです。
    なるほど、こういうクラスがあったのね。

    テーマ : プログラミング
    ジャンル : コンピュータ

    SQLite のテーブル存在チェック

    おぼえがき。

    SQLiteでテーブルの存在をチェックしたかったら
    select count(*) from sqlite_master where type='table' and name='{目的のテーブル名}'
    を投げる。
    これで0が帰ってきたらテーブルがない。

    このsqlite_masterテーブルって、Create文が入っているんですね。
    SqlServerにはなかった気がします。そんなフィールド。おもしろいですね。

    テーマ : データベース
    ジャンル : コンピュータ

    SQLite !

    C# でアプリを作るのに、手軽に使えるDBのようなものを探していました。

    昔(VB6.0を使っていたころ)は、ADOXというコンポーネントがあり、こいつがアクセスのmdbをコードから作成できたので、
    ADOXでmdbファイルをつくって、Jetでアクセスして使う、というスタイルでやっていました。
    (もしくは、事前にアクセスでmdbファイルを作って、jetでアクセスしてました。)

    ADOXはActivXのDLLなので、C#でも使えるのですが、
    C#を使うのに、ActivXのDllを参照するのはなんかいやだったのと、
    Windows7だと、そもそも、Jetドライバがないような感じだったので、これに代わるものを探していました。
    (データプロバイダの一覧に出てこないんですよね・・。なくなったんでしょうか・・・
     Office2007あたりから、アクセスもmdbじゃなくなっているし・・・)

    で、探していて見つけたのが、System.Data.SQLiteでした。

    もともとはC#用というわけではなく、SQLiteという、MySQLとかと同じようなフリーのデータベースがあり、それのC#版のようです。
    ちなみに、SQLiteのC#版はいくつかあるようです。
     今、リンクを載せるのに、どのページだったかな~と探していたら、別物がヒットしました・・・。
     ・csharp-sqliteというものあるようです。
     (マイコミジャーナルで紹介されていました。))

    System.Data.SQLiteは、VisualStuio2005/2008へのアドインも同梱しており、サーバーエキスプローラーから、SQLiteへ接続したり、クエリ投げたりもできます。
    コードからDBのファイルを作れるし、配布するときは、SQLiteのインストールをしてもらう必要もなく、
    アセンブリを配布物に含めればそれでOKという手軽さ。

    今後は、積極的にこいつを使っていこうかと思っている今日この頃です。

    テーマ : データベース
    ジャンル : コンピュータ

    プロフィール

    ざっち

    Author:ざっち
    ざっちのーと
    ♪自由なSEのメモ帳です♪

    ざっちのスキル一覧
    ----------------
    上級(手足も同然!)
    ・.net FrameWork
    ・C#
    ・SqlServer
    ・VisualBasic6.0
    ----------------
    中級(だいたいOK!)
    ・WPF(XAML)
    ・Android
    ・WindowsMobile6.5
    ・HTML
    ----------------
    下級(や、やればできるさ!)
    ・PHP
    ・JavaScript
    ・SilverLight
    ・SQLite
    ・Python(だってjetCreaterが・・・)
    ・C++(OpenCVいじってみたくて・・・)
    ----------------
    最近のお気に入り
    ・WPF(XAML)
    ・Android
    ・GoogleAPI
    ----------------

    最近の記事
    月別アーカイブ
    カテゴリー
    夢見る羊さん
    地球の名言Ⅱ

    presented by 地球の名言

    Twitter...A

    Twitter < > Reload

    ブロとも申請フォーム

    この人とブロともになる

    ブログ内検索
    RSSフィード
    リンク
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。