<!--
    
//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.DefaultLegend"
             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:interactivity="using:Microsoft.Xaml.Interactivity"
             xmlns:multiBinding="using:LiveCharts.Uwp.Components.MultiBinding"
             mc:Ignorable="d" x:Name="This">
    <UserControl.Resources>
        <uwp:OrientationConverter x:Key="OrientationConverter"/>
    </UserControl.Resources>
    <Border>
        <ItemsControl ItemsSource="{x:Bind Series, Mode=OneWay}">
            <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
                    <VariableSizedWrapGrid MaxWidth="{Binding MaxWidth, ElementName=This}"
                                       MaxHeight="{Binding MaxHeight, ElementName=This}">
                        <interactivity:Interaction.Behaviors>
                            <multiBinding:MultiBindingBehavior Converter="{StaticResource OrientationConverter}" Mode="OneWay" PropertyName="Orientation">
                                <multiBinding:MultiBindingItem Value="{Binding Orientation, ElementName=This, Mode=OneWay}" />
                                <multiBinding:MultiBindingItem Value="{Binding InternalOrientation, ElementName=This, Mode=OneWay}" />
                            </multiBinding:MultiBindingBehavior>
                        </interactivity:Interaction.Behaviors>
                    </VariableSizedWrapGrid>
                </ItemsPanelTemplate>
            </ItemsControl.ItemsPanel>
            <ItemsControl.ItemTemplate>
                <DataTemplate x:DataType="uwp:SeriesViewModel">
                    <Grid Margin="2">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="Auto"/>
                        </Grid.ColumnDefinitions>
                        <Path Width="{Binding BulletSize, ElementName=This}" 
                              Height="{Binding BulletSize, ElementName=This}" 
                              StrokeThickness="{x:Bind StrokeThickness}" 
                              Stroke="{x:Bind Stroke}" Fill="{x:Bind Fill}"
                              Stretch="Fill" Data="{Binding PointGeometry}"/>
                        <TextBlock Grid.Column="1" Margin="4 0" Text="{x:Bind Title}" VerticalAlignment="Center" />
                    </Grid>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>
    </Border>
</UserControl>



