###前提・実現したいこと
現在、Visual Studio 2017でWPFのアプリを作成中です。
その中で、あるobjectを、Pathで作成し、その中をFillで色塗りしています。
ここで、FillするLinearGradientBrushを、動的に変更したいと考えています。
具体的には、ある変数:Fが1~5で変化し、その値によって色を変化させる必要があります。
現状、対象がラベルの場合は、例えば変数Fの値に応じてStyleを切り替える(以下のように記述する)ことで色を変更できております。
Xaml
1<DataTrigger Binding="{Binding Path=F}" Value="1"> 2 <Setter Property="Foreground" Value="Blue"/> 3</DataTrigger>
しかし、対象をPath.Fillとする場合、Setter Propertyをどのように記載すれば良いのかわからず苦戦しております。
Xaml
1<Style x:Key="pathfillcolor" TargetType="Path"> 2 <Style.Triggers> 3 <DataTrigger Binding="{Binding Path=F}" Value="1"> 4 <Setter Property=???? Value="Blue"/>
PathのFillに使うブラシは、以下のLinearGradientBrushを使用しており、このブラシを、変数Fの値によって切り替えたいと考えております。
Xaml
1<Path.Fill> 2 <LinearGradientBrush x:Name="lgb1" StartPoint="0.5,0" EndPoint="0.5,1"> 3 <GradientStop Color="blue" Offset="0.0" /> 4 <GradientStop Color="White" Offset="0.5" /> 5 <GradientStop Color="blue" Offset="1.0" /> 6 </LinearGradientBrush> 7</Path.Fill>
TargetTypeをPathではなく、①LinearGradientBrushにする、②GradientStopにする等試してみたのですが、上手くいかず、皆さまのお知恵をお貸しいただければ幸いです。
なお、C#コード側は一切手をつけることはできず、Xamlだけで変数Fに応じたUIの変更を行う必要があります。
よろしくお願いします。
###補足情報(言語/FW/ツール等のバージョンなど)
Visual Studio 2017
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/17 21:07
2017/12/18 02:53
2017/12/18 04:00