FluentWPF 0.2.2をリリースしました
2件ほどプルリクをいただいたので、マージしてFluentWPF0.2.2としてリリースしました。
Release v0.2.2 · sourcechord/FluentWPF · GitHub
Nugetからは以下のコマンドでインストールできます。
Install-Package FluentWPF
https://www.nuget.org/packages/FluentWPF/
変更内容
今回の変更内容は以下の2点です。
(どちらもプルリクでいただいた内容です。)
AcrylicWindow.ShowTitleBar="False"
のときに、タイトルバー部分の余白ができる- ウィンドウ作成後に、
AcrylicWindow.Enabled
添付プロパティをTrueにしても、ウィンドウがアクリル化されない不具合を修正
AcrylicWindow.ShowTitleBar="False"
としたときに、以下のようにタイトルバーがあった部分に無駄な余白ができてしまっていました。
<fw:AcrylicWindow x:Class="FluentWPFSample.Views.AcrylicWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:fw="clr-namespace:SourceChord.FluentWPF;assembly=FluentWPF" xmlns:local="clr-namespace:FluentWPFSample.Views" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Title="AcrylicWindow" Width="300" Height="300" ShowTitleBar="False" mc:Ignorable="d"> <Grid Background="#70FFFFFF"> <TextBlock Margin="10" HorizontalAlignment="Left" VerticalAlignment="Top" Text="この部分がコンテンツ領域" TextWrapping="Wrap" /> </Grid> </fw:AcrylicWindow>
今回のバージョンアップで、こんな風にちゃんとウィンドウ全域が描画領域になります。
今後の予定
現在、OSのアクセントカラーやLight/Darkのテーマ設定を反映できるように対応を進めています。
この辺、ある程度動作するコードは書けてるんだけど、クラス名とかXAMLからのプロパティ定義をどんな仕様にするか、まだ少し悩んでいます。
もう少し時間がかかりそうですが、こんな対応を進めてこうと思ってます。
とりあえず、今月中にはテーマ対応をして次バージョンをリリースしたいなぁ。
Electron+TypeScriptなプロジェクトの雛形を更新~Electron1.8.2+TypeScript2.7.1~
以前作ったElectron+TypeScriptのサンプルコードを、それぞれの最新バージョンにアップデートしました。
それぞれ、以下のバージョンに更新してます。
- electron v1.8.2
- typescript v2.7.1
こういう雛形って、定期的に新しいバージョンに追従しておかないと、変更内容を追いきれなくなりますからね。
今回はコードには変更を加えず、ライブラリ類のバージョン更新だけでOKでした。
今後も、定期的にライブラリの更新に追従しておこうと思います。
VirtualShortcutKeyが窓の杜で紹介されました
以前作った、↓のツールが窓の杜で紹介されました。
Ctr+C/Ctrl+Vなどのショートカットを、マウス/タッチパネル操作で実行するツールを作ってみました - SourceChord
思い付きで一気に作ったツールだったので、まさかこんな形で紹介されるとは予想もしてなくてビックリです(汗
自分が普段見に行ったりするようなサイトで紹介されるって、、ちょっと感慨深いですね。
FluentWPF 0.2.1をリリースしました
以前作成した↓のライブラリを更新しました。
Nugetからは以下のコマンドでインストールできます。
Install-Package FluentWPF
https://www.nuget.org/packages/FluentWPF/
続きを読むFluentWPF v0.2.0~AcrylicPanel/DropShadowPanelの追加~
先日、↓のFluent Design SystemをWPFで再現するライブラリを作りましたが、ちょこっとバージョンアップしてみました。
主に以下のような変更を行いました。
- 新規コントロールの追加
- AcrylicPanel・・・・・・背景ぼかし処理をするパネル
- DropShadowPanel・・・影の表示方法に少し手を入れたDropShadowEffect付きパネル
- バグフィックス
- AcrylicBrushのバグフィックス
AcrylicBrush使用時に、LayoutChangedイベントが発生し続けて、CPU負荷が高くなる不具合を修正 - AcrylicWindowのWin10環境以外への対応
Win10以外の環境では、AcrylicWindowの背景ぼかし処理を無効化しました。
- AcrylicBrushのバグフィックス
Acrylicなぼかしウィンドウの作成には、SetWindowCompositionAttributeという非公開API使っているので、以前のOSへの対応はやっぱ仕組み的に難しいですね。。。
ということで、Win10以外のOSでは、AcrylicWindowのぼかし処理を無効化しました。
(Win7ならAeroGrass効果をうまく使えば、それっぽい表示を真似できるかもしれませんが。。)
WPFでFluent Design Systemを再現するライブラリを作ってみました~FluentWPF~
はじめに
少し遅れてしまいましたが、この記事はXAML Advent Calendar 2017の25日目の記事です。
今年のBuildでは、Fluent Design Systemなどの発表がありましたが、このデザインをWPFで用いる方法は提供されていません。
対応するAPIがないなら、XAMLの機能を駆使してそれっぽく作ってしまえ!!ということで、FluentDesignをXAMLで再現したライブラリを作ってみました。
XAMLの拡張性は伊達じゃない!!
StyleやStoryboard、マークアップ拡張やコンバーターに各種添付プロパティと、XAMLの機能をフル活用して色々なエフェクトを再現しています。
ただ、ウィンドウのアクリル化はXAMLだけではどうにもならないので、↓を使ってそれっぽく再現しています。
WPFでFluent Design Systemのアクリルっぽいウィンドウを作ってみる - SourceChord
概要
WPF向けにFluent Design Systemをそれっぽく再現したテーマのライブラリです。
主に以下のような機能を実装しました。
- Acrylic
- AcrylicWindow・・・半透明でぼかしをかけて透過するスタイルのウィンドウ。
- AcrylicBrush・・・・ウィンドウ内の指定したXAML要素をぼかして表示するためのブラシ
- Reveal・・・・・・・マウスカーソルの位置に応じた照明効果が効いた、各種コントロール用スタイル。
- ParallaxView・・・UWPの同名コントロールを再現したもの。
- AccentColor・・・・OSのテーマカラーなどを用いたColor/Brush定義
Windows Template Studio 1.6を使ってみた
この記事は、XAML Advent Calendar 2017の23日目の記事です。
UWPのアプリ雛形を作成できるVS拡張機能のWindows Template Studioですが、先日バージョン1.6がリリースされたので使ってみました。
最近あまり使ってなかったのですが、v1.5でローカライズ対応されてUIが日本語表示されるようになってます。