タグ

WPFに関するtoydevのブックマーク (9)

  • WPF で Window を Alt+Tab ダイアログに表示させないようにするには

    結果としては ShowInTaskbar = False で WindowStyle が ToolWindow の時のみ、Alt+Tab ダイアログに表示されなくなります。ToolWindow の時に表示されないということは、拡張ウィンドウスタイルの WS_EX_TOOLWINDOW (0x00000080) が設定されていると Alt+Tab ダイアログに表示されなくなるということだと思います。 ということは WindowStyle が None の時でも WS_EX_TOOLWINDOW を設定してあげれば、Alt+Tab ダイアログには表示されなくなるということです。これは、レイヤードウィンドウを表示する時に WindowStyle を None にする必要があるので、その時に有効です。 他の SingleBorderWindow と ThreeDBorderWindow の時に W

    toydev
    toydev 2016/05/01
  • [C# / WPF] 最新のC# 6.0でMVVMパターンを実装する - Qiita

    こんにちは、Niaです。 C#の最新バージョン「6.0」になって、自動実装プロパティの強化やnull条件演算子など、便利な機能が追加されましたね。 C# 6.0で知っておくべき12の新機能 - Build Insider http://www.buildinsider.net/language/csharplang/0600 今回はC# 6.0でWPFアプリでよく使うMVVM(Model-View-ViewModel)パターンを実装したプログラムを作成し、C# 5.0と比べてコードがどう変化するか見ていきましょう。 ここでは例として、RSSフィードを取得するプログラムを作成します。 1. C# 5.0でMVVMパターンを実装 まずはC# 5.0でRSSフィードを取得するプログラムを以下に示します。 1.1. Model(RSSModelクラス) // *** 中略 *** // RSSリー

    [C# / WPF] 最新のC# 6.0でMVVMパターンを実装する - Qiita
  • WPFで実行ファイルとDLLを一つにまとめる(C#編) - Qiita

    <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets"/> <Target Name="AfterResolveReferences"> <ItemGroup> <EmbeddedResource Include="@(ReferenceCopyLocalPaths)" Condition="'%(ReferenceCopyLocalPaths.Extension)' == '.dll'"> <LogicalName>%(ReferenceCopyLocalPaths.DestinationSubDirectory)%(ReferenceCopyLocalPaths.Filename)%(ReferenceCopyLocalPaths.Extension)</LogicalName> </EmbeddedResource

    WPFで実行ファイルとDLLを一つにまとめる(C#編) - Qiita
    toydev
    toydev 2015/12/04
  • WPFで実行ファイルとDLLを一つにまとめる(C#編) - ふまじめになりたい

    .NETで実行ファイルとDLLをひとつにまとめる場合はILMergeを使えばいいのですが、WPFでXAMLを使っているとILMergeが使えません。 そんな状態でもDLLをひとつにできる方法を紹介します。 その1 プロジェクトファイルにコマンドを追加 C#プロジェクトファイルの <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> のあとに以下「ここから」「ここまで」を除く以下の文字列を挿入します ここから <Target Name="AfterResolveReferences"> <ItemGroup> <EmbeddedResource Include="@(ReferenceCopyLocalPaths)" Condition="'%(ReferenceCopyLocalPaths.Extension)'

    WPFで実行ファイルとDLLを一つにまとめる(C#編) - ふまじめになりたい
    toydev
    toydev 2015/12/04
  • [WPF] ListViewのSelectedItemと矢印キー

    ListViewを使用したプログラムで不具合らしき現象を体験した。 再現状況は以下の通り。 ListViewのitemのいくつかをプログラム中でselectする。 ListViewにfocusがある状態で矢印キーを入力する。 正常な反応はListViewのSelectedItemを起点として移動する動きのはず。しかし、上記の方法では最初のキー入力で必ず先頭の要素に行く。マウスでクリックしたり、矢印キーで移動してSelectした場合は、SelectedItemから移動できる。プログラムからSelectedItemを指定したときのみ、トップ(デフォルト位置)に戻る。

    [WPF] ListViewのSelectedItemと矢印キー
  • WPFのListBox.SelectedItemの挙動がおかしい | Moonmile Solutions Blog

    最近、ツールを作るときに、Windows Forms ではなくて、WPF を使っています。 理由の第一は、UI が綺麗に作れるから、なんですが、通常のフォームアプリケーションを作るのと勝手が違う or 動きがおかしい、とろが多々あって、ちょっと避けるべき理由もちらほら。 今、使っているのは WPF のリストボックスなのですが、どうやら、 リストボックスの項目を Remove メソッドで削除する。 カーソルを設定するために SelectedIndex で選択させる。 この後、カーソルキーの上矢印や下矢印キーを押すと、先頭にカーソルが移動してしまう。 という現象です。 削除する場合は、次のコードのように、DELETEキーを押したときに、選択行を削除します。 private void listBox1_KeyDown(object sender, KeyEventArgs e) { if (e.

  • 第4回 WPFの「リソース、スタイル、テンプレート」を習得しよう

    第4回 WPFの「リソース、スタイル、テンプレート」を習得しよう:連載:WPF入門(1/3 ページ) WPFはコントロールの外観を自由自在にカスタマイズできる柔軟性を備えている。これを実現する仕組みであるリソース、スタイル、テンプレートを解説する。 連載目次 前回説明した依存関係プロパティは、「ほかの要素の値に依存してプロパティの値を決定する機構」といえる。WPFではこの仕組みを基軸として、リソース、スタイル、コントロール・テンプレートなどの高度な機能を提供している。 特にWPFの柔軟性を象徴する機能がコントロール・テンプレートで、この機能を用いることでコントロールの外観を自由自在にカスタマイズ可能となる。Windowsフォームなどの既存のGUI作成フレームワークでは、コントロールに対して背景色やフォント・サイズの変更など、限定的なカスタマイズしかできなかった。これに対して、WPFのコント

    第4回 WPFの「リソース、スタイル、テンプレート」を習得しよう
  • 第5回 WPFの「データ・バインディング」を理解する

    データとなるモデルと、表示を行うビューを結び付ける「データ・バインディング」と、データの表示をカスタマイズできる「データ・テンプレート」について解説。 連載目次 今回および次回の2回に渡り、ビューとモデルの疎結合を実現するための仕組みとして、データ・バインディングとコマンドという2つの機能について説明する。まず今回は、これらの機能の背景にあるGUIアプリケーションに対する要件と、データ・バインディングについて説明を行っていく。 ■GUIアプリケーションに対する要件 WPFのデータ・バインディングやコマンドといった仕組みを説明する前に、そもそもGUIアプリケーションに対して、どのような要件があるのかを整理してみよう。ここでは、実装上で満たすべき要件として「ビューとモデルの疎結合」と、GUIアプリケーションに求められる機能(の中で、今回はデータ・バインディングに関係する部分)を紹介する。 ●ビ

    第5回 WPFの「データ・バインディング」を理解する
  • Nine Works: WPFコントロールに独自のプロパティを作成する

    WPFコントロールに独自のプロパティを作成する WPFのユーザーコントロール等を作成する際に独自のプロパティが欲しくなることはよくある。  普通のプロパティでもXAML側から値を設定できるけれど、これだとバインディングが出来ない。  バインディングもできるようなカスタムプロパティを作成するには依存プロパティを作成する必要がある。  依存プロパティを作るにはDependencyObject(又はDependencyObjectを継承しているクラス)を継承する必要がある。(DependencyObjectのGetValueとSetValueを使用してプロパティの値の取得と設定を行うので) 以下にユーザーコントロールにCellSizeという名前の依存プロパティを作成する例を紹介。  今回は依存プロパティが主役なので、ユーザーコントロールの見た目はそのまま使用する。(XAMLではコードをかかない)

  • 1