Я получил какое-то странное поведение, пытаясь использовать всю мощь MVC ... :)
Я пытался привязать простое свойство Path Fill к какому-либо значению и не может быть успешным.
Как маленький пример стоит ...
Вот как просто воспроизвести:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Path Name="p" Data="M 0,0 h 30 v 30 h -30 v -30" Fill="Beige">
<Path.Style>
<Style TargetType="{x:Type Path}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=ch}" Value="True">
<Setter Property="Path.Fill" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Path.Style>
</Path>
<CheckBox Name="ch" Margin="35,12,-35,-12" />
</Grid>
</Window>
Другая проблема, она работает с этим макетом, но не с аналогичным (удаление Fill из декларации):
<Path Name="p" Data="M 0,0 h 30 v 30 h -30 v -30">
<Path.Style>
<Style TargetType="{x:Type Path}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=ch}" Value="True">
<Setter Property="Path.Fill" Value="Red"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsChecked, ElementName=ch}" Value="False">
<Setter Property="Path.Fill" Value="Blue"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Path.Style>
</Path>
Может ли кто-нибудь объяснить мне причину?