ElementName de Liaison défaillant

J'ai le code XAML suivant:

<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.">

Cette liaison est un échec: MarkerEnabled="{Binding ElementName=DisplayMarkers, Path=IsChecked}"

Je suis en train d'essayer de se lier à la propriété IsChecked sur ma Case à cocher nommée "DisplayMarkers". Lorsque je l'exécute, dans le mode de débogage dans visual studio 2010, la fenêtre sortie affiche la liaison est un échec. Il ne peut pas trouver l'élément nommé 'Case'. Quelqu'un pourrait-il me dire pourquoi?

L'erreur que je reçois de VS est:

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')
  • Pour les futurs utilisateurs, vous pouvez exécuter ce problème sur un ContextMenu aussi bien, sans doute pour la même raison.
  • J'ai résolu ce problème en définissant la DataContext de l'élément parent de la place et de liaison pour que. DataContext="{Binding ElementName=DisplayMarkers}"
InformationsquelleAutor Hosea146 | 2012-02-03