How does wpf bind overloaded ToString() in xaml

I modified the TreeViewItem's HeaderTemplate in wpf's xaml. The TreeViewItem's Header property is assigned a custom type, which overrides the object's tostring. I want to bind the value returned by tostring() in xaml.

<Style x:Key="DBTree" TargetType="TreeView">
    <Setter Property="Margin" Value="0,10,0,0"></Setter>
    <Style.Resources>
        <Style TargetType="{x:Type TreeViewItem}">
            <Setter Property="Margin" Value="20,10,0,10"></Setter>
            <Setter Property="ContextMenu" Value="{StaticResource DBTreeContextMenu}"></Setter>
            <Setter Property="HeaderTemplate">
                <Setter.Value>
                    <DataTemplate>
                        <Grid >
                            <StackPanel Orientation="Horizontal">
                                <Image Name="itemIco" Width="16" Height="16"  Source="/YWFWManagerPlatform;component/Images/db.jpg"></Image>
                                <!--<TextBlock Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Header}"></TextBlock>-->
                                <TextBlock Text="{   tostring()}"></TextBlock>
                            </StackPanel>
                        </Grid>
                    </DataTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Style.Resources>
</Style>