Binding problem in C# wpf

Posted by Cinaird on Stack Overflow See other posts from Stack Overflow or by Cinaird
Published on 2010-06-08T09:54:56Z Indexed on 2010/06/08 10:42 UTC
Read the original article Hit count: 275

Filed under:
|
|

I have a problem whit binding in wpf i have a textbox where i can do some input, then i try to bind the textinput to a custom usercontrol. This work for the usercontrol within RowDetailsTemplate but not in the CellTemplate. For each object in the CellTemplate i get this error output:

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=ScaleTextBox'. BindingExpression:Path=Text; DataItem=null; target element is 'Chart' (Name=''); target property is 'MaxValue' (type 'Int32')

My code looks like this:

XAML
<ToolBarTray ToolBarTray.IsLocked="True"  DockPanel.Dock="Top" Height="25">
    <ToolBar Name="ButtonBar" >
        <TextBox Height="23" Name="ScaleTextBox" Width="120" Text="400"/>
    </ToolBar>
</ToolBarTray>
<DataGrid ItemsSource="{Binding Path=Items}" AutoGenerateColumns="False" IsReadOnly="True" RowHeight="25" RowDetailsVisibilityMode="VisibleWhenSelected">
       <DataGrid.RowDetailsTemplate>
        <DataTemplate>
            <StackPanel Orientation="Vertical" >
                <my:UserControl ItemsSource="{Binding Path=Samples}" MaxValue="{Binding ElementName=ScaleTextBox, Path=Text}"/>-->
            </StackPanel>
        </DataTemplate>
    </DataGrid.RowDetailsTemplate>
    <DataGrid.Columns>
        <DataGridTemplateColumn MinWidth="150" Header="Chart" >
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <my:UserControl ItemsSource="{Binding Path=Samples}" MaxValue="{Binding ElementName=ScaleTextBox, Path=Text}"/><!-- this is the problem -->
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>

    </DataGrid.Columns>

</DataGrid>

C#
public static readonly DependencyProperty MaxValueProperty = DependencyProperty.Register("MaxValue", typeof(int), typeof(PingChart), new FrameworkPropertyMetadata(MaxValuePropertyChanged));
private static void MaxValuePropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
{
    Console.WriteLine(e.NewValue);
}

What do i do wrong?

© Stack Overflow or respective owner

Related posts about c#

Related posts about wpf