【发布时间】:2015-09-25 21:09:24
【问题描述】:
我遇到了一个已知错误
System.Windows.Data 错误:2:找不到目标元素的管理 FrameworkElement 或 FrameworkContentElement。BindingExpression:Path=Percent;数据项=空;目标元素是 'GradientStop' (HashCode=81530);目标属性是“偏移”(类型“双”)
关于这部分代码:
<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>
我尝试将DataContext 设置为代理,但没有成功:
<DataGrid.Resources>
<app:BindingProxy x:Key="proxy" Data="{Binding}" />
</DataGrid.Resources>
[...]
<GradientStop Color="#FF2D2D30" Offset="{Binding Data.Percent, Source={StaticResource proxyRow}}" />
System.Windows.Data 错误:40:BindingExpression 路径错误:在“对象”“ViewModel”(HashCode=37637549)上找不到“百分比”属性。 BindingExpression:路径=数据.百分比; DataItem='BindingProxy' (HashCode=3342738);目标元素是 'GradientStop' (HashCode=64874797);目标属性是“偏移”(类型“双”)
这很明显,因为 Data 现在包含我的 ViewModel 控件的 DataContext。
有什么建议吗?谢谢!
【问题讨论】:
标签: c# wpf mvvm binding datagrid