タグ

wpfに関するpiro_sukeのブックマーク (33)

  • 「MVVMパターンが必要な理由」啓蒙用資料公開 - the sea of fertility

    MVVMパターン的な実装は、他のプラットフォームでは選択肢の一つにすぎませんが、WPF/Silverlight(Windows Phone 7 含む)においては唯一の選択肢です。コードビハインドを書かないことはMVVMパターンそのものの定義とは関係ありません。まずはスキルにあったレベルでMVVMパターンを意識した実装を初めてみませんか? 以前の勉強会発表資料(わんくま勉強会での発表資料の半分以上をカットし、Androidテスト祭り分追加)を加工し、社内勉強会、そのほかの勉強会・ブログなどで自由に使える資料として公開します。私の個人名は抜いてあります。 無許可の改変・引用なども問題ありません。ただ、資料の直接の商用利用などはご遠慮ください。 ブログに張り付けたい場合、下のbマークから埋め込み用URLを取得できます。 「コードビハインドを書くのはMVVMパターンではない」などの誤解が、MVVM

  • WPF – コマンドのCanExecute強制自動再評価について - the sea of fertility

    ちょうど今Livet開発メーリングリストで懸案になっている機能に、WPFがCommandのCanExecuteを強制的に自動再評価する既定の動きを、一切強制再評価なし(None)・WPF既定(Default)・WPF既定(Full)に加えてViewModelのプロパティの変化で強制再評価 の3つのモードに設定できるようにする機能があります。 この機能の是非について、正直ものすごく悩んでいますし、MLメンバの方にも反対意見も頂いております。広くご意見いただけると幸いです。 概要 WPF既定の動作の何が気に入らなかったかといえば、 Windowのアクティブ化・非アクティブ化 マウスクリック キーボード押下 キーボードフォーカスのGot/Lost が、アプリ内のどれかのコントロールやWindow自体に発生した場合に、Viewに存在するすべてのコマンドソースコントロール(ButtonやMenuIt

  • [WPF][C#]TemplateBindingとBindingのRelativeSource TemplatedParentの違い

    WPFのControlTemplateとかで使えるBindingの特殊な書き方にTemplateBindingというものがある。こいつは、プロパティ名を受け取るだけのシンプルなもの。 TemplateBindingを使わなくても、BindingのRelativeSourceに{RelativeSource TemplatedParent}を指定することで、TemplateBindingと同じような動きをさせることが出来る。 ただし、使ってみると微妙に動きが違うことに気づいた。今まではTemplateBindingを使うと楽チンくらいにしか思ってなかったけど、違いを明らかにするために、いくつか実験をしてみようと思う。 とりあえず、実験するためにカスタムコントロールを1つこさえる。Controlを継承して、Textプロパティを定義しただけのシンプルなコントロール。 using System.W

  • Livet - the sea of fertility

    Livet WPF4 MVVM インフラストラクチャ ProjectHome : http://ugaya40.net/livet SourceCode : https://bitbucket.org/ugaya40/livet/ Livetの概要と導入方法 LivetはWPF4のためのMVVM(Model/View/ViewModel)パターン用インフラストラクチャです。.NET Framework 4 Client Profile以上で動作し、zlib/libpngライセンスで提供しています。zlib/libpngライセンスでは、ライブラリとしての利用に留めるのであれば再配布時にも著作権表示などの義務はありません。しかし、ソースコードを改変しての再配布にはその旨の明示が義務付けられます。 Livetの目指すところ 現在、WPFでMVVMパターンによる実装を行うにはインフラストラクチャの

  • コントロールの作成の概要 - WPF .NET Framework

    Windows Presentation Foundation (WPF) コントロール モデルの拡張性により、新しいコントロールを作成する必要性が大幅に軽減されます。 ただし、場合によっては、カスタム コントロールを作成する必要があります。 このトピックでは、カスタム コントロールを作成する必要性を最小限に抑える機能と、Windows Presentation Foundation (WPF) のさまざまなコントロール作成モデルについて説明します。 また、新しいコントロールを作成する方法も示します。 新しいコントロールの作成に代わる方法 従来は、既存のコントロールをカスタマイズする場合、背景色、境界線の幅、フォントのサイズなど、コントロールの標準プロパティを変更するなどの範囲に制限されていました。 これらの定義済みのパラメーター以外に、コントロールの外観や動作にまでカスタマイズを拡張しよ

    コントロールの作成の概要 - WPF .NET Framework
  • Creating a New Control by Creating a ControlTemplate

    Silverlight gives you the ability to create a control whose appearance can be customized. For example, you can change the appearance of a CheckBox beyond what setting properties will do by creating a new ControlTemplate. The following link shows the difference between a CheckBox that uses a default ControlTemplate and a CheckBox that uses a custom ControlTemplate. Run this sample If you follow the

    Creating a New Control by Creating a ControlTemplate
  • Resource Dictionaries

    A resource dictionary is a concept that is supported by the ResourceDictionary class. A resource dictionary is a keyed dictionary of objects that can be used both in XAML and in code. XAML is the most common usage, particularly for initially defining the object resources in a resource dictionary. Resource dictionaries can exist at several positions in an application structure, including as immedia

    Resource Dictionaries
  • Microsoft – クラウド、コンピューター、アプリ & ゲーム

    すべての Microsoft 製品 Global Microsoft 365 Teams Copilot Windows Surface Xbox セール 法人向け サポート ソフトウェア Windows アプリ AI OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox Live Gold Xbox とゲーム PC ゲーム Windows ゲーム 映画テレビ番組 法人向け Microsoft Cloud Microsoft Security Azure Dynamics 365 一般法人向け Microsoft 365 Microsoft Industry Microsoft Power Platform W

    Microsoft – クラウド、コンピューター、アプリ & ゲーム
  • MSDN Silverlight | Microsoft Docs

    If you don't have a preferred development tool installed already, install Visual Studio 2012 with Silverlight tools. See the Silverlight downloads page for other useful tools, toolkits and SDKs related to Silverlight 5.

    MSDN Silverlight | Microsoft Docs
  • Silverlight 3: ListBox DataTemplate HorizontalAlignment

  • XAMLの文字列を改行する: The Dog is Candy

    ResourceDictionaryにの要素を定義したときに文字列を改行したくなるときがあります。ただし、単純にこう書いても改行してくれません。 <system:String x:Key="SomeString">今日は\nいい天気です</system:String> \nはご丁寧に\\nとして解釈してしまうので、FindResourceで取得した文字列には"\\n"が埋め込まれてしまっています。 いろいろ調べてみたら、Attributeとして xml:space="preserve" を指定するとスペースや改行コードもそのまま保持してくれるようです。そこに紹介されているサンプルでは。こんな感じで紹介されていました。 <system:String xml:space="preserve" x:Key="SomeString">今日は いい天気です</system:String> まあ、確か

  • Browse code samples

  • 試してみよう: カスタム プロパティを持つカスタム コントロールの作成

    Microsoft Expression Blend には、アプリケーションで使用できるさまざまなシステム コントロールやスタイルが用意されています。これらのコントロールやスタイルが特定の要件に適合しない場合は、カスタム コントロールを作成できます。カスタム コントロールを作成するには、いずれかの System.Windows.Controls クラスから継承する Microsoft .NET クラスを作成します。 イメージを表示するためにイメージ ファイルのパスを保持する新しいプロパティを含むカスタム ボタン コントロールを作成する手順を次に示します。 カスタム プロパティを持たないユーザー コントロールをコードを使わずに作成する例については、「空のユーザー コントロールの作成」を参照してください。 カスタム コントロールの詳細とXAML とコードの例については、MSDN の「Windo

    試してみよう: カスタム プロパティを持つカスタム コントロールの作成
  • 【ハウツー】C#とWPFで実装されたモデリングツール「MiniUML」 (1) MiniUMLとは | エンタープライズ | マイコミジャーナル

    MiniUMLは、.NET Framework3.5のWPF(Windows Presentation Foundation)の機能を使って開発されたUMLダイアグラムエディタです。MiniUMLという名前から分かるようにシンプルなUML(クラス図)を記述できます。格的なUMLツールにはかないませんが、ちょっとしたアイデアをクラス図に落としてみる時に使ってみてはいかがでしょうか。 入手/実行方法 MiniUMLはCodePlexからダウンロードできます。実行するだけであれば、バイナリ形式「MiniUML, release 1.0 (binary).zip」をダウンロードします。ソースコードからビルドしたい場合は、「MiniUML, release 1.0 (source code).zip」をダウンロードします。 バイナリ形式の場合、MiniUML.exeをダブルクリックします。ソースコ

  • MVVMパターンとは? – わんくま同盟東京勉強会 #60 セッション資料 - the sea of fertility

    僕のセッションの資料をアップします。 前回は時間オーバー。今回は10分も早く終わるとかorz。 わんくま同盟 東京勉強会 #60 http://www.wankuma.com/seminar/20110625tokyo60/ 普段ブログで書いているような話や、今までUPしたスライドのような話ではなくて、超初心者向けの内容です。 「一般的な設計原則とWPF/Silverlightの特徴から導出するMVVMパターン」という副題が付けてあります。 とりあえずSlideboomはパワポアニメもいけるようで大満足。 レビュー協力してくれた秘密組織 謎クエリの会のみんな、@xin9leさん当にありがとう!。 課題 反省会という名の、いつものメンバー的な3次会で、「WeakEventの話はレベル1にふさわしくないんじゃないの?」という意見をもらっていたり。WeakEventパターンへの踏み込んだ解説は

  • GitHub - MSDN Blogs

    In Visual Studio 2022 17.10 Preview 2, we’ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection ...

    GitHub - MSDN Blogs
  • 仮想化オンでのピクセル単位スクロールと慣性スクロール - the sea of fertility

    細かいTipsとかやった事ないんですが、今回はC# Advent Calendar jp: 2010用にちょっとWPF-Tipsやってみました。この記事はC# Advent Calendar jp: 2010、12/5分です。 WPFのItemsControllのスクロール動作には2種類の動作があります。 物理スクロールと論理スクロール 物理スクロールは、あらかじめ定められた物理インクリメント (通常は、ピクセル数で宣言された値) で内容をスクロールするために使用されます。 論理スクロールは、論理ツリーの次の項目にスクロールするために使用されます。 物理スクロールは、ほとんどの Panel 要素の既定のスクロール動作です。 WPF では、両方の種類のスクロールをサポートしています。 MSDNライブラリ ScrollViewerの概要 – http://msdn.microsoft.com/

  • WPFとSilverlightの将来 - Yamakiの日記

    先週から今週にかけてWPFとSilverlightの将来を心配する声が聞かれるようになりましたので、このblogでもいくつか気になった記事などを取り上げてみたいと思います。 Blog | EvernoteEvernote 4 for Windows」がWPFからC++に鞍替えしたことが話題となり、WPFの将来を悲観する声が上がりました。それらの中でも元マイクロソフトSilverlightプロダクトマネージャのScott Barnes氏のblog記事は、WPFの素晴らしさを認めつつもマーケティングやチームの体制といったWPFに対するマイクロソフトの姿勢を問題視したもので、非常に興味深い内容かと思います。 WPF has no Product Manager. | RIAGENIC.com それら一連の騒動に対し、先の記事の通りマイクロソフトのWindows Clientのコミュニティプロ

    WPFとSilverlightの将来 - Yamakiの日記
  • XAML WPF 描画ブラシとリソース ディクショナリにエクスポート

    XAML Windows Presentation Foundation (WPF) リソース ディクショナリに、Microsoft Expression Design アートワークを描画ブラシとして保存し、Microsoft Expression Blend プロジェクトにインポートできます。Expression Blend プロジェクトでは、描画ブラシを使用してオブジェクトを描画できます。たとえば、Expression Design でボタンの外観に使用するアートワークを作成し、Expression Blend にエクスポート可能なリソース ディクショナリにブラシ リソースとしてアートワークをエクスポートできます。リソース ディクショナリを Expression Blend にインポートする方法の詳細については、『Expression Blend ユーザー ガイド』を参照してください。

    XAML WPF 描画ブラシとリソース ディクショナリにエクスポート
  • 第4回 “見た目”を決めるコントロール・テンプレート

    第4回 “見た目”を決めるコントロール・テンプレート:連載 WPF/Silverlight UIフレームワーク入門(2/3 ページ) ●TemplateBindingマークアップ拡張機能 作成したコントロール・テンプレートを1つのコントロールでしか使用しないのであれば、表示文字列を含めたすべての外観が固定的であっても問題はないのだが、それは極めてまれなケースだろう。 多くの場合、上記のコード例のようにリソースを利用して複数のコントロールでコントロール・テンプレートを共有できれば便利である。そしてその際には、Contentプロパティのようにコントロールごとに設定値が異なるプロパティは、コントロール・テンプレートによって表示される外観にも個別に反映されなければならない。 このような動作は、マークアップ拡張機能である「TemplateBinding」を使用し、コントロールのプロパティと、コントロ

    第4回 “見た目”を決めるコントロール・テンプレート