I've got a known error
System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element.BindingExpression:Path=Percent; DataItem=null; target element is 'GradientStop' (HashCode=81530); target property is 'Offset' (type 'Double')
on this part of code :
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding State}" Value="Started">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="Green" Offset="0" />
<GradientStop Color="#FF2D2D30" Offset="{Binding Percent}" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</DataTrigger>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
I've tried to set the DataContext
to a proxy but it did not work :
<DataGrid.Resources>
<app:BindingProxy x:Key="proxy" Data="{Binding}" />
</DataGrid.Resources>
[...]
<GradientStop Color="#FF2D2D30" Offset="{Binding Data.Percent, Source={StaticResource proxyRow}}" />
System.Windows.Data Error: 40 : BindingExpression path error: 'Percent' property not found on 'object' ''ViewModel' (HashCode=37637549)'. BindingExpression:Path=Data.Percent; DataItem='BindingProxy' (HashCode=3342738); target element is 'GradientStop' (HashCode=64874797); target property is 'Offset' (type 'Double')
Which is obvious as the Data now contains the DataContext of the Control which is my ViewModel.
Any suggestion ? Thanks !