【发布时间】:2014-10-03 08:28:50
【问题描述】:
我在绑定此 UserControl aph:FilterItemControl 时遇到问题
Filter 对象具有属性:Negate、Valued 和 MatchCase。第一个和最后一个绑定都很好,但是Valued 不行。
<DataTemplate DataType="{x:Type helpers:Filter}">
<Grid x:Name="FilterGrid" Margin="10,0,0,0" >
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<ToggleButton x:Name="NegationButton"
IsChecked="{Binding Negate}"
Content="!"
Grid.Column="0" />
<aph:FilterItemControl x:Name="FilterValueTbx"
ToolTip="{Binding Valued}"
ValueType="{Binding CurrentPropertyFilter.PropertyType, Source={x:Static helpers:MyClass.Instance} }"
Grid.Column="1" />
<ToggleButton x:Name="MatchCaseToggle"
IsChecked="{Binding MatchCase}"
Content="Aa"
Grid.Column="2" >
</ToggleButton>
</Grid>
</DataTemplate>
错误:
System.Windows.Data 错误:40:
BindingExpression 路径错误: 在“对象”“FilterItemControl”上找不到“Valued”属性 (名称='UserControl')'。
绑定表达式:路径=值; DataItem='FilterItemControl' (Name='UserControl');
目标元素是 'FilterItemControl' (Name='UserControl');
目标属性是 “工具提示”(类型“对象”)
只是想知道为什么以及如何解决这个问题?
好像是跳转到UserControl的DataContext,为什么?
【问题讨论】: