FluentWPF 0.6.1をリリースしました
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のテーマカラー変更しても、ウィンドウ枠のボーダー色が追従してなかったのですが、ちゃんと追従するようにしました。