タグ

XAMLとWPFに関するa-hamahamaのブックマーク (17)

  • M-V-VMパターンでViewModelのコマンド実行後に何か処理したいよね - かずきのBlog@hatena

    M-V-VMで書いてると、ViewはViewModelのプロパティにバインドして、ViewModelのプロパティの内容を表示するのが主になります。 View上でのボタンクリックとかもViewModelが提供するCommand型のプロパティとバインドして、完全にViewModelに処理をお任せするのが一般的だと思います。 そうなってくると、ちょっと不便なこととして、ボタンクリックの結果をViewで表示したいとか、コマンド実行前に確認画面を出したいということをしようとすると、どうしようか悩んでしまいます。 ViewModelでMessageBoxを出すコードを書くと、せっかくViewModelとViewを分離しているありがたみがなくなってしまうし、ユニットテストしにくくなってしまいます。一番素直なのは、Viewでボタンのクリックイベントを処理して、確認画面を出した後にViewModelのインス

    M-V-VMパターンでViewModelのコマンド実行後に何か処理したいよね - かずきのBlog@hatena
  • Thumb コントロールで Photoshop のナビゲーターを再現する | grabacr.nét

    @kurosawa0626 さんが Photoshop のナビゲーター的なものを作りたい、という話をしていて、過去に似たようなものを作ったことがあったので共有してみます。 記事内のコードは WPF で書いたものですが、WinRT でも一部を除いてほぼ同じようなコードで書けるはずです。 2015/04/12 追記: @okazuki さんが、WinRT でやる場合の補足記事を書いてくださいました。 http://okazuki.hatenablog.com/entry/2015/04/11/195941 目標 今回は、Thumb コントロールを活用し、Photoshop のナビゲーターと同等のものを作ります。 ScrollViewer に表示されているコンテンツについて、以下を実現しましょう。 サムネイルの表示 Viewport (赤枠部分) の表示 赤枠のドラッグで Viewport の位

    Thumb コントロールで Photoshop のナビゲーターを再現する | grabacr.nét
  • XAMLでのエラー通知

    東京でソフトウェアエンジニアをやっています。 お仕事大募集中です。 記事執筆や、講師依頼とかでも何でもどうぞ(*^_^*) MSMVP Visual C# Since 2004/04-2013/03 通常XAMLアプリケーションを作成し、バインディングを利用しているとエラー通知にルールというものを使います。 ちなみにネット上にはまだ情報がないと思うので、最新のMSDNライブラリか日語版のWindowsSDKを落として データ バインディングの概要 ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.ja/wpf_conceptual/html/c707c95f-7811-401d-956e-2fffd019a211.htm を見てみてください。下のほうです。 でこのエラー通知にToolTipを使う簡単な方法というのが書かれています。 <St

  • WPF4.5入門 その21 「WPFのコンセプトと重要な機能つまみ食い」 - かずきのBlog@hatena

    過去記事 WPF4.5入門 その1 「はじめに」 WPF4.5入門 その2 「WPFとは」 WPF4.5入門 その3 「Hello world」 WPF4.5入門 その4 「Mainメソッドはどこにいった?」 WPF4.5入門 その5 「全てC#でHello world」 WPF4.5入門 その6 「WPFを構成するものを考えてみる」 WPF4.5入門 その7 「XAMLのオブジェクト要素と名前空間」 WPF4.5入門 その8 「オブジェクト要素のプロパティ」 WPF4.5入門 その9 「コレクション構文」 WPF4.5入門 その10 「コンテンツ構文」 WPF4.5入門 その11 「マークアップ拡張」 WPF4.5入門 その12 「その他のXAMLの機能」 WPF4.5入門 その13 「簡単なレイアウトを行うコントロール」 WPF4.5入門 その14 「レイアウトコントロールのCanva

  • [WPF] ネストしたスタイルを定義する (NestedStyles in WPF)

  • WPF DataGridへのBindingに関する基本設計 - OITA: Oika's Information Technological Activities

    なんか「wpf datagrid binding」で検索して以下の記事に流れてくる人が 異様に多いようだ。 [WPF]DataGridColumnへのバインディング しかし↑の記事ではあんまり一般的でないケースの話しか書いていなくて 申し訳ない気持ちになるので、たまにはちょっと入門編っぽいことも自分なりに書いてみる。 WPFでDataGridにデータを一覧表示する場合の値の持ち方とかについて。 ちなみに、一覧上のセルから直接値を編集するような使い方は個人的にあんまりやらないので、 今回もあくまでDataGridは表示だけの用途を想定して書きます。 とにかく表示する まずはコレクションの値をとにかく一覧表示する例から。 <Window x:Class="DataGridBindingSample.MainWindow" xmlns="http://schemas.microsoft.com/

    WPF DataGridへのBindingに関する基本設計 - OITA: Oika's Information Technological Activities
  • Settings を使った WPF でのアプリケーション設定の保存 (ウィンドウの表示位置、サイズの保存) | プログラマーズ雑記帳

    Settings を使った WPF でのアプリケーション設定の保存 (ウィンドウの表示位置、サイズの保存) .NET ではアプリケーションの設定を保存する際に Settings という機能を使用します。 今回はこの Settings の使い方を説明したいと思います。 説明のサンプルはウィンドウの表示位置、サイズの保存にしています。 Settings の使い方としては次の 2 つの方法があります。 コードから利用 XAML のリソースとして利用 ただし、XAML のリソースとして使う場合も初期値として使うだけで、 終了時の保存はコードから行う必要があります。 Settings について 先に Settings について少し説明しておきます。 Windows における設定ファイルの変遷 Windows の初期の頃では INI ファイル というテキストファイルを使ってアプリケーションの設定を保存

    Settings を使った WPF でのアプリケーション設定の保存 (ウィンドウの表示位置、サイズの保存) | プログラマーズ雑記帳
  • FileSystemObject オブジェクトでファイル名にワイルドカード文字を使用できますか - Hey, Scripting Guy!

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    FileSystemObject オブジェクトでファイル名にワイルドカード文字を使用できますか - Hey, Scripting Guy!
  • WPF/UWP:Linq-to-XAMLで簡単にUIコントロールへアクセスするには?[C#/VB]

    UIコントロールにコードビハインドからアクセスしようとして困ったことはないだろうか? 特に、データテンプレートで自動生成された場合など、UIコントロールに名前が付けられないときは途方に暮れるかもしれない。 それにはVisualTreeHelperクラス(System.Windows.Media名前空間)を利用して、UIコントロールのビジュアルツリーを順に探索していけばよいのだが、コーディングが面倒である。稿では、「Linq-to-XAML」ライブラリを使って、UIコントロールに簡単にアクセスする方法を紹介する。なお、稿のサンプルは「Windows desktop code samples:.NET Tips #1124」からダウンロードできる。 Linq-to-XAMLを導入するには? Linq-to-XAMLはオープンソースのライブラリで、ソースコードはGitHubで公開されている(

    WPF/UWP:Linq-to-XAMLで簡単にUIコントロールへアクセスするには?[C#/VB]
  • XAMLとC#によるUniversal Windows Platform アプリ開発っていうのをKindleストアに放流しました #uwpdev_jp #windev_jp - かずきのBlog@hatena

    www.amazon.co.jp 目次はこんな感じ。細かいテクノロジについて解説はしてないけど、アプリの作り方の参考になればと思います。 2. 書について 1 2.1. 対象プラットフォーム 1 2.2. コードを打ち込むうえでのTips 1 3. Universal Windows Platformとは 1 3.1. デバイスファミリ 1 3.2. 様々なデバイスファミリに対応するということ 2 3.2.1. 画面サイズへの対応 2 3.2.2. 機能差異への対応 3 3.3. 書でサポートするデバイスファミリについて 3 4. Hello world 3 4.1. App.xaml/App.xaml.cs 4 4.1.1. UWP appのライフサイクル 8 4.2. MainPage.xaml/MainPage.xaml.cs 9 4.3. Hello worldの作成 11 4

    XAMLとC#によるUniversal Windows Platform アプリ開発っていうのをKindleストアに放流しました #uwpdev_jp #windev_jp - かずきのBlog@hatena
  • XAML 用 UI デバッグ ツールのご紹介 - Visual Studio 日本チーム Blog - Site Home - MSDN Blogs

    XAML の実行時に使用する検査ツールが欲しいというご要望 (英語) は、以前から数多くいただいていました (昨年の //BUILD でもそのような声を耳にいたしました)。こうした皆様からのたくさんのご要望を受けて、このたび Visual Studio 2015 CTP 6 (英語) で XAML 用の新しい UI デバッグ ツールを導入しました。これらのツールを使用すると、実行中の WPF アプリケーションのビジュアル ツリーやツリー内の任意の要素のプロパティを検査することができます。つまり、この検査によってあらゆる情報を把握したうえで、複数のプロパティが互いを上書きしている箇所を分離するという難しい点を解決し、正しい動作を把握してそのままタスク化し、アプリケーション実行時に処理を行えるようにすることができます。Visual Studio ではこれらの UI デバッグ ツールがデバッグ

    XAML 用 UI デバッグ ツールのご紹介 - Visual Studio 日本チーム Blog - Site Home - MSDN Blogs
  • TabControl のタブ位置を固定する - present

    WPF の TabControl は TabItem が増えて横一列に入りきれなくなると多段表示になります。この状態で上段のタブをクリックすると、タブの位置が入れ替わってしまいます。 私はこの動作が大嫌い タブブラウザみたいにタブの位置はそのままに、内容だけ切り替わってほしい。でも TabControl の標準の動作は前述の通りですし、かといって自分で一から作成するのも面倒。お金を払って商用コントロールを買うなんてもってのほか! 気に入らないなら… Template を書き変えちゃえばいいのさ! XAML を記述します <Window x:Class="TabControlSample.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.micr

    TabControl のタブ位置を固定する - present
  • ItemsControl 攻略 ~ 外観のカスタマイズ | grabacr.nét

    これは、XAML Advent Calendar 2013 の 1 日目のエントリーです。 WPF (または Windows ストア アプリ) におけるコレクション コントロール (ItemsControl) の外観をカスタマイズするための基礎として、4 つのプロパティの使いどころを紹介します。 前置き WPF でアプリ開発をしていると、そのデザイン性の高さを生かし、WPF っぽい (?) UI のアプリを開発したくなりませんか? なりますよね! 既定のデザインで開発しても、データ バインディング等々の恩恵を多分に受けられるので十分素晴らしいのですが、「その UI だったら WindowsForms で作れるじゃん」なんて思ってしまったり。 なので、私が WPF アプリを開発するときは、最近の Visual Studio や Zune、GitHub for Windows などに見られるモ

    ItemsControl 攻略 ~ 外観のカスタマイズ | grabacr.nét
  • RenderTransformプロパティとLayoutTransformプロパティの違い - Yamakiの日記

    WPFではTransformクラスに様々な変形を行う機能が用意されていますので、大きくしたり回転させたりといったことが非常に簡単に実現できます。Transformクラスを継承したクラスとして、以下の4つのクラスが存在します。 クラス名 機能 ScaleTransform 縦、横の大きさの変形 SkewTransform 縦方向、横方向に斜めに変形 RotateTransform 回転 TranslateTransform 基準点からの縦方向、横方向への移動 これらのTransformを設定するプロパティとして、各UIElementにはRenderTransformとLayoutTransformの2つのプロパティが用意されています。 プロパティ名 機能 RenderTransform 内部のレイアウト処理が行われた後に適用されるため、レイアウトシステムは変更を認識できないが、パフォーマンス

    RenderTransformプロパティとLayoutTransformプロパティの違い - Yamakiの日記
  • [C#][WPF]WPFで表示してるものの中身を見たい!

    実際のアプリケーションで使うことは無いだろうけど、WPFを理解する過程でWPFで表示されてるものが最終的に何で構成されているのかというのを見たいことは多々ある。 ということで、そういう用途に使えるものとしてVisualTreeHelperとLogicalTreeHelperがある。 LogicalTreeHelperは、XAMLに書いたそのままを取得できるようなイメージになる。 VisualTreeHelperは、現在表示されてるものをそのまま表示するようなイメージになる。 後者のほうが勉強目的にはよさげ。 ということで、どういう風に使うのかさくっと書いてみた。 とりあえずのとっかかりなので、Windowのコード内にべたっと書いてるけど気にしない。 実際に勉強用に使いまわすときは、ある程度汎用化しませふ。 まずは、XAMLから。 <Window x:Class="WpfHack.Windo

  • WPF/Silverlight/Windows Phone共通WeakEvent機構 - the sea of fertility

    この記事はSilverlight Advent Calender 2011の12/11分の記事です。前日は@neueccさんの.NETの標準シリアライザ(XML/JSON)の使い分けまとめでした。 WeakEventとは? WeakEventとはイベントハンドラの解除忘れによるメモリリークが発生しないイベント機構の事です。 .NETでメモリリークが発生する主要要因の一つとして、イベント受信側クラスがイベントハンドラの登録を解除しない事で発生するメモリリークが挙げられます。ステートレスなWebプラットフォーム上ではほとんど発生を考慮しなくて良い問題ですが、ステートフルなリッチクライアントではよく問題になります。WeakEvent機構はそのためのソリューションの一つとしてもともとはWPF用に用意されていた機構です。その証拠に.NET4ではWeakEventManagerなどのWeakEvent

  • 自動レイアウトの使用の概要

    ここでは、開発者がローカライズ可能なユーザー インターフェイス (UI) を持つ Windows Presentation Foundation (WPF) アプリケーションを作成する方法に関するガイドラインについて説明します。これまでは、UI をローカライズするには、コストと時間がかかっていました。UI が翻訳された言語をピクセル単位で調整する必要がありました。現在では、適切な設計およびコーディング標準を使用して UI を構築し、ローカライザが行う必要があるサイズ変更や位置変更を減らすことができます。サイズ変更や位置変更がより簡単になるアプリケーションの作成方法は、自動レイアウトと呼ばれます**。これは、WPF アプリケーション設計を使用して実現できます。 このトピックは、次のセクションで構成されています。 自動レイアウトを使用する利点 自動レイアウトとコントロール 自動レイアウトとコー

    自動レイアウトの使用の概要
  • 1