<!--
    
//The MIT License(MIT)

//Copyright(c) 2016 Alberto Rodriguez & LiveCharts Contributors

//Permission is hereby granted, free of charge, to any person obtaining a copy
//of this software and associated documentation files (the "Software"), to deal
//in the Software without restriction, including without limitation the rights
//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
//copies of the Software, and to permit persons to whom the Software is
//furnished to do so, subject to the following conditions:

//The above copyright notice and this permission notice shall be included in all
//copies or substantial portions of the Software.

//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
//SOFTWARE.
    
-->

<UserControl x:Class="LiveCharts.Uwp.DefaultTooltip"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:uwp="using:LiveCharts.Uwp"
             xmlns:converters="using:LiveCharts.Uwp.Converters"
             mc:Ignorable="d" x:Name="UserControl"
             d:DataContext="{d:DesignInstance uwp:DefaultTooltip}"
             BorderThickness="1.3">
    <UserControl.Background>
        <SolidColorBrush Color="#202020" Opacity=".8" />
    </UserControl.Background>
    <UserControl.Resources>
        <uwp:SharedConverter x:Key="SharedConverter"/>
        <uwp:SharedVisibilityConverter x:Key="SharedVisibilityConverter"/>
        <uwp:ChartPointLabelConverter x:Key="ChartPointLabelConverter"/>
        <uwp:ParticipationVisibilityConverter x:Key="ParticipationVisibilityConverter"/>
    </UserControl.Resources>
    <Border Background="{x:Bind Background}" CornerRadius="{x:Bind CornerRadius}"
                    BorderThickness="{x:Bind BorderThickness}" Padding="10 5">
        <StackPanel Orientation="Vertical">
            <TextBlock Text="{Binding Data, Converter={StaticResource SharedConverter}}" HorizontalAlignment="Center" FontWeight="Bold"
                               Visibility="{Binding Data, Converter={StaticResource SharedVisibilityConverter}}" />
            <!-- Grid.IsSharedSizeScope="True"-->
            <ItemsControl ItemsSource="{Binding Data.Points}" x:Name="ItemsControl">
                <ItemsControl.ItemTemplate>
                    <DataTemplate x:DataType="uwp:DataPointViewModel">
                        <Grid Margin="2">
                            <Grid.Resources>
                                <converters:StringFormatConverter x:Key="StrFormatConverter" Format="{}{0:P}"/>
                            </Grid.Resources>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                            </Grid.ColumnDefinitions>
                            <Path Width="{Binding ElementName=UserControl, Path=BulletSize}" 
                                  Height="{Binding ElementName=UserControl, Path=BulletSize}" 
                                  StrokeThickness="{Binding Series.StrokeThickness}" 
                                  Stroke="{Binding Series.Stroke}" Fill="{Binding Series.Fill}" 
                                  Stretch="Fill" Data="{Binding Series.PointGeometry}"/>
                            <TextBlock Grid.Column="1" Text="{Binding Series.Title}" VerticalAlignment="Center" Margin="5 0 0 0"/>

                            <TextBlock Grid.Column="2" Text="{Binding ChartPoint, Converter={StaticResource ChartPointLabelConverter}}" Margin="5 0 0 0" VerticalAlignment="Center"/>

                            <TextBlock Grid.Column="3" Text="{Binding ChartPoint.Participation, Converter={StaticResource StrFormatConverter}}" 
                                       VerticalAlignment="Center" Margin="5 0 0 0"
                                       Visibility="{Binding DataContext.Data, ElementName=ItemsControl, 
                                       Converter={StaticResource ParticipationVisibilityConverter}}"/>
                        </Grid>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </StackPanel>
    </Border>
</UserControl>
