我有以下XAML:的ElementName绑定失败
<Grid>
<Grid.RowDefinitions>
...
</Grid.RowDefinitions>
<DataGrid Grid.Row="0" ...>
<DataGrid.Columns>
...
</DataGrid.Columns>
</DataGrid>
<DockPanel Grid.Row="2">
<CheckBox x:Name="DisplayMarkers" DockPanel.Dock="Top" Content="Display Data Points?"
Margin="8,5,0,5" d:LayoutOverrides="Height" HorizontalAlignment="Left" IsChecked="False" />
<vf:Chart DockPanel.Dock="Top" ScrollingEnabled="False" ZoomingEnabled="True" ToolBarEnabled="True">
<vf:DataSeries AxisYType="Secondary" RenderAs="Line" DataSource="{Binding CdTeRoughnessList}"
XValueType="DateTime"
MarkerEnabled="{Binding ElementName=DisplayMarkers, Path=IsChecked}" Color="Navy"
LegendText="Roughness Std. Dev.">
此绑定失败:MarkerEnabled="{Binding ElementName=DisplayMarkers, Path=IsChecked}"
我想结合我的复选框财产器isChecked名为“DisplayMarkers”当我在VS 2010的调试模式下运行这个,输出窗口显示绑定失败,找不到名为'Checkbox'的元素,有谁能告诉我为什么吗?
我从VS得到的错误是:
System.Windows.Data Error: 4 : Cannot find source for binding with reference
'ElementName=DisplayMarkers'. BindingExpression:Path=IsChecked; DataItem=null; target element is 'DataSeries' (Name=''); target property is 'MarkerEnabled' (type 'Nullable`1')
对于未来的用户,你可以运行到上一个ContextMenu这个问题为好,无疑是出于同样的原因。 – BradleyDotNET 2014-05-28 00:16:42
我通过设置父项的'DataContext'来解决此问题,并将其绑定到该项。 'DataContext =“{Binding ElementName = DisplayMarkers}”' – kjhf 2017-01-26 12:27:31