.NETで画像リソースやOpenCV の.NETラッパーEmgu から画像データを得ようとするとSystem.Drawing.Bitmapインスタンスになるのですが、WPFで直接読み込む方法がないようです。というわけで変換になるのですが、これがちと曲者っぽいので備忘録。 Stream経由 コードが短くて済むのは一旦StreamにBMP形式(昨今メモリは潤沢にあるのでPNG等圧縮する必要はないかと)で保存、それを読みこませる方法。 using System.Windows.Controls; using System.Drawing; using System.IO; (省略) Bitmap bmp = (何か); using (Stream st = new MemoryStream()) { bmp.Save(st, ImageFormat.Bmp); st.Seek(0, SeekOr
WPFがWinFormsより敷居が高い? そりゃ、最初に掛け違ってるからですよ、きっと。 というわけで、これはXAML Advent Calendar 2014の3日目、12月3日分のエントリーです。WPF? XAML? MVVM? そんなにムズカシクないよ? というお話。 もちろんWinRTのWindowsストアアプリやWindows Phoneアプリ等、XAMLベースのプラットフォームにもほとんどすべて共通した内容です。 ここではあえて理論とか観念は説明しません。とにかくコードを見ながら仕組みと動きを理解していきます。 俺は、コードが読める、長い説明エントリーなんてめんどくせぇ、と思ったら、コード部分だけを実際に動かしながら見ていくだけでも基本的な構造が十分に理解できるのではないか、と。 サンプルプロジェクト Download: SimpleMVVM.zip github: https
ウィザード画面のように、次へ、前へボタンがあるようなプログラムを WPFのナビゲーション機能を使って実装したサンプルを掲載します。 どんなプログラムなのかイメージがわくように、まずは実行時のスクリーンショットをお見せします。 以下、作成手順です。 1. ウィンドウの作成 WPFアプリケーションプロジェクトを新規作成してできる MainWindowのXAMLを以下のように変更します。 <Window x:Class="PageNavigationSample.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="250" Widt
A collection of project and item templates for Modern UI for WPF. Adding a number of Visual C# project and item templates to Visual Studio 2012 and 2013 for creating WPF applications with a Modern UI look & feel. Project Template (Visual C#\Windows) Modern UI WPF Application Modern UI WPF Navigation Application Item Templates (Visual C# Items\Modern UI for WPF) Basic Page List Page Split Page Tab
ModernUI for WPFでアプリを作る用のテンプレートを追加してくれる拡張機能が、 Visual Studio Galleryで公開されています。 ModernUI for WPF Templates http://visualstudiogallery.msdn.microsoft.com/7a4362a7-fe5d-4f9d-bc7b-0c0dc272fe31 以下のページを見ながらやってみました。 http://mui.codeplex.com/wikipage?title=My%20first%20Modern%20UI%20app%20using%20templates&referringTitle=Documentation この拡張機能を入れると、以下のようなテンプレートが追加されます。 新しいプロジェクトのテンプレート Modern UI WPF Applicati
すべての 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
WPFアプリを簡単にメトロデザインにできる、ModernUI for WPFというライブラリがあります。 これがすごい便利!! 手軽にZuneとかVS2012みたいな雰囲気にできます。 ModernUI for WPF http://mui.codeplex.com/ 使い方 以下のページに詳しく書かれてます。 http://mui.codeplex.com/wikipage?title=My%20first%20Modern%20UI%20app 大まかに、以下のような手順で使います。 Nugetから、ModernUI for WPFをインストール MainWindowを、ModernWindowクラスを継承するように書き換える App.xamlにリソースディクショナリを追加 MainWindowにメニューを追加 ModernWindowクラスでは、Contentプロパティが無視されるの
マイクロソフト系プラットフォームでWinFormsからWPFに移行せなアカンなーとかWPFにしたら何が嬉しいの?なんてことを思ってる人たちに捧げるシリーズです。 今回はWPFで作ったら何が嬉しいのかを俺っち的に感じられる例を1つあげてみる。 ・Visual Studio 2013(VS2012でも変わらんと思う) ・.NET Framework 4.0(企業戦士のデフォルトはWindows7な筈なので) で仕上げていきます。まずはプロジェクトの作成から で、スケルトンの出来上がり。 MainWindow.xamlが選択されてるはずなので、左側にツールボックスとドキュメントアウトラインを表示させます。 今回は理屈抜きで手順を並べていきます。習うより慣れよ。理解は後からついてくる。 ツールボックス上でコンボボックスをダブルクリックします。 そしたらウィンドウの左上にコンボボックスが配置されます
はじめに WPF の ListView に挑戦しました。今回は ListView を1行2段で表示するのが目標。 ListView に表示するデータを用意 // 伝票を表すクラス public class Slip { public DateTime Date { get; set; } public int Kind { get; set; } public int NoFlag { get; set; } public long No { get; set; } public string CustomerCode { get; set; } public string CustomerName { get; set; } } ListView にデータをセット public partial class Window1 : Window { public Window1() { Ini
ここからはわたし個人の意見です。あくまでも個人の意見ですので、書き手の都合のよいように解釈、判断している部分もあるかもしれません。 WPFかSilverlightのどちらかを選択するということは変わっていませんが、今後はSilverlightよりもWPFを選択するケースがこれまでよりも多くなるのではないかと予想します。その理由は以下のようなものです。 ■Silverlightの居場所は? これまでは、Silverlightがマイクロソフトのアプリケーション開発技術の中で最もマルチに対応できる選択肢だったと思います。それはWindowsアプリケーションからWebアプリケーション、ビジネス向けのアプリケーションからコンシューマ向けのアプリケーションまでといった具合にです。 しかしながら、現在の状況、そして今後の流れを考えた場合、その状況は変わってくると予想します。 ●Windowsアプリケーシ
http://blogs.bitlan.net/ito/?p=1666 Ito Blog ≫ Blog Archive ≫ メモリリークのまとめ(管理されたリソース) http://blogs.bitlan.net/ito/?p=1672 Ito Blog ≫ Blog Archive ≫ メモリリークのまとめ(管理外のリソース) http://blogs.bitlan.net/ito/?p=1682 Ito Blog ≫ Blog Archive ≫ メモリリークのまとめ(Dispose Finalize パターンと応用) の続きです。 前回は、Dispose Finalize パターンに関する内容をまとめました。 今回は、イベントハンドラーが削除されていないことによって、不要な参照先が残ってしまうことによる問題についてです。 不要な参照先が残ってしまうと、いつまでも GC
XAMLファイルBに定義してるのはUserControlですか? もしそうなら、XAMLファイルA(Windowと仮定しますね)の表示を切り替えたい箇所をContentControlにしてName属性をつけてコードビハインドからいじれるようにします。 <ContentControl Name="target" /> そして、下記のようにボタンのクリックイベントハンドラでtargetのContentプロパティにUserControlのインスタンスを設定してやると実現できると思います。 target = new UserControlA(); ほかの方法としては、切り替える画面数にもよりますがVisualStateを画面分定義して切り替える方法や、Frameを使用して画面遷移をさせる方法や、表示させるデータを持ったクラスをViewModel側で差し替えて、DataTemplateのDataTy
Style でのサイズ値は DynamicResource 参照にしておいて、そのリソース値を変更するとよいようです。 // XAML <Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" Title="Window1" Height="300" Width="300"> <Window.Resources> <sys:Double x:Key="textFontSize">18</sys:Double>
ListViewから項目を削除するには、Itemsプロパティが持つ削除系のメソッドを使用します(下記)。 メソッド 説明 下記は、上記メソッドを使用して項目を削除する例です。 [C#を削除]ボタンをクリックした場合は、ListViewの1番目の項目を取得し、そのTextが”C#”の場合に削除を行います。 [1番目を削除]ボタンをクリックしたときは、ListViewの1番最初の項目(インデックスが0)を削除します。 [全削除]ボタンをクリックしたときは、ListViewに表示されているすべての項目を削除します。 VBの例 ' フォームロード時の処理 Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'ListViewに項目を追加する Ad
前編ではExpression Blendの機能概観および簡単なアニメーションの作成について扱った。続いてはWPF(Windows Presentation Foundation)の特徴を紹介していきたいと思うが、WPFというとどうもアニメーションや動画、3Dといった、どちらかというと派手な部分ばかりが取り上げられているように思う。もちろんWPFの機能はそれだけではなく、現在主流であるWindowsフォーム・アプリケーション*1のUI(ユーザー・インターフェイス)を全面的に刷新する次世代のWindowsアプリケーション・フレームワークとなっている。 そこでこの後編では、どちらかというと地味な部分になるのだが、まだ取り上げられることが少ない、Windowsフォーム・アプリケーション開発者の視点から見て魅力的と思えるWPFの特徴を紹介しよう。 *1 なお本稿で「Windowsフォーム」と記述した
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く