Home > プログラム > WPF

WPF Archive

[WPF] 色定義文字列からColorオブジェクトを生成

色定義文字列(?)からColorオブジェクトを生成することができます。

色定義文字列という言葉はかなり怪しいですが、「ARGB」形式で表現された文字列のことです。
「#FF00FF00」←こういうやつ。

で、本題。
 

ColorConverterクラスのConvertFromメソッドを使用します。

ColorConverter cc = new ColorConverter();
Color color = (Color)cc.ConvertFrom("#FF0077FF");

 
 

[WPF] DataGridのスクロール制御

DataGridでのスクロール位置制御は意外と面倒です。
「DataGridのメソッドを1つ読んで終了!」とはいきません。
 

大まかな手順は次のようになります。

  1. VisualTreeからScrollViewerオブジェクトを取得
  2. ScrollViewerオブジェクトによりスクロール制御

 

Continue reading

[WPF] 未処理例外をキャッチ

プログラム実行中に意図しないエラーでアプリが落ちることがありますが、落ちる前に終了処理を行いたいような場合もあるかと思います。
(ログ出力やメッセージによるエラー原因表示など)
 

本来であれば各処理ブロックにtry-catchを入れて都度エラー処理を行うべきですが、実際に開発をしていると漏れが出てくることもチラホラ。

そこで、未処理の例外を確実にキャッチする方法を紹介したいと思います。
 

Continue reading

[WPF] Imageに画像が表示されない、そんなときは・・・

地味に悩んだのでメモっておきます。
 

プロジェクトに画像を追加して、Imageのソースとして指定。

<Image Source="./img/001.jpg"/>

こんな感じ。
 

Continue reading

[WPF] XAMLだけでコントロール回転

StoryboardとTransformを使うと、XAMLだけでも簡単に張り付けた要素を回転させることができます。

Expression Blendがあればサクサク実装できるのですが、XAMLべた書きだと「あれ?どうするんだっけ?」なんてことがよくあるので、ちょっとしたメモ程度に・・・。
 

Continue reading

[WPF] DataTemplateの中のコントロール取得

DataGridコントロールなどのセル内部にDataTemplateでコントロールを配置した場合、コントロールにNameを付けていてもプログラム側から直接アクセスすることはできません。複数行ある場合にどの行のコントロールを表しているのか分からないので当たり前と言えば当たり前の仕様なのですが、それでもアクセスしたいことってありますよね!
 

いろいろと悩んだのですが、「VisualTreeから引っ張ってくるしかない」という結論に至りました。
(他の方法があれば是非ご教授ください・・・^^;)
 
 

Continue reading

[WPF] DataGrid ヘッダー背景色の設定

DataGridのヘッダー背景色設定はStyleで行います。
 

XAML

        <DataGrid x:Name="dgHoge" AutoGenerateColumns="False" Height="100">
            <DataGrid.ColumnHeaderStyle>
                <Style TargetType="{x:Type DataGridColumnHeader}">
                    <Setter Property="Width" Value="80"/>
                    <Setter Property="Background" Value="Aqua"/>
                    <Setter Property="BorderBrush" Value="Black"/>
                    <Setter Property="BorderThickness" Value="1"/>
                </Style>
            </DataGrid.ColumnHeaderStyle>
            
            <DataGrid.Columns>
                <DataGridTextColumn Header="HOGE" Binding="{Binding Hoge}"/>
                <DataGridTextColumn Header="TEST" Binding="{Binding Test}"/>
            </DataGrid.Columns>
        </DataGrid>

Continue reading

[WPF] DataGrid 指定セルにフォーカス移動

DataGridで任意のセルにフォーカスを移動する方法が分からずに悩んだので、簡単にまとめてみました。
 

まず、他のコントロールにフォーカスがあることも考慮してFocus()でDataGrid自体にフォーカスを移します。次にSelectedIndexプロパティに対象セルのある行のインデックス(0から始まる値)を設定して行を選択状態にします。
 

Continue reading

ホーム > プログラム > WPF

Search
Feeds
Meta
人気の記事

Return to page top