FluentWPF 0.6.0をリリースしました。
Release v0.6.1 · sourcechord/FluentWPF · GitHub
今回の変更内容は以下の通り。
- 新機能
- アクリル効果付きのメニュー・・・AcrylicMenuStyle
- TextBox/PasswordBox用の添付プロパティ追加・・・Extensions.PlaceholderText, Extensions.Header
- テキストボックスのヘッダーや、ウォーターマーク表示のテキストを設定する機能
- バグフィックス
- AcrylicWindowのウィンドウ枠の色が、OSのテーマカラーに追従しない不具合を修正
- ButtonRevealStyle使用時に起きるバインディングエラーを修正
アクリル効果付きのメニュー~AcrylicMenuStyle~
前回のAcrylicContextMenuに続き、Acrylicなメニューも追加しました。
こちらはカスタムコントロールではなく、スタイルとしての提供です。
こんなコードで、、、
<fw:AcrylicWindow x:Class="FluentWPFSample.Views.AcrylicMenuSample"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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:FluentWPFSample.Views"mc:Ignorable="d"Title="AcrylicMenuSample"Height="200"Width="350"><DockPanel><Menu DockPanel.Dock="Top"VerticalAlignment="Top"Style="{StaticResource AcrylicMenuStyle}"><MenuItem Header="MenuItem1"><MenuItem Header="MenuItem3" /><MenuItem Header="MenuItem4" /><MenuItem Header="Sub"><MenuItem Header="MenuItem3" /><MenuItem Header="MenuItem4" /></MenuItem></MenuItem><MenuItem Header="MenuItem2"><MenuItem Header="MenuItem3" /><MenuItem Header="MenuItem4" /><MenuItem Header="Sub"><MenuItem Header="MenuItem3" /><MenuItem Header="MenuItem4" /></MenuItem></MenuItem></Menu></DockPanel></fw:AcrylicWindow>
こんなメニューが作れます。
TextBox/PasswordBox向けの新機能
↓のプルリクでいただいた内容です。
TextBox and PasswordBox PlaceHolder and Header thru attached properties by fangeles02 · Pull Request #35 · sourcechord/FluentWPF · GitHub
UWPのTextBox/PasswordBoxなどと同じように、PlaceholderTextやHeaderプロパティを付けられるよう、添付プロパティを作っています。
TextBox/PasswordBoxに対し、以下の二つの添付プロパティを用意しました。
プロパティ名 | 型 | 説明 |
---|---|---|
Extensions.Header | string | コントロール上部に表示するヘッダー文字列を設定 |
Extensions.PlaceholderText | string | テキストが空欄の時に表示されるウォーターマーク表示の文字列を設定 |
こういうコードで、、、
<StackPanel><TextBox HorizontalAlignment="Left"Margin="5"Width="200"Style="{StaticResource TextBoxRevealStyle}"fw:Extensions.PlaceholderText="Placeholder"fw:Extensions.Header="Header"/><PasswordBox HorizontalAlignment="Left"Margin="5"Width="200"Style="{StaticResource PasswordBoxRevealStyle}"fw:Extensions.PlaceholderText="Password"fw:Extensions.Header="Password"/></StackPanel>
こうなります。
バグフィックス
細かいバグ修正もしてます。
今まで、OSのテーマカラー変更しても、ウィンドウ枠のボーダー色が追従してなかったのですが、ちゃんと追従するようにしました。