我有以下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