First pass at some styling
This commit is contained in:
parent
ee0f8afd86
commit
061adabff8
@ -1,112 +1,62 @@
|
||||
<Project
|
||||
Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<ProduceAssemblyReference>true</ProduceAssemblyReference>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup
|
||||
Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference
|
||||
Include="Xamarin.Forms"
|
||||
Version="4.3.0.991211"/>
|
||||
<PackageReference
|
||||
Include="Xamarin.Essentials"
|
||||
Version="1.3.1"/>
|
||||
<PackageReference
|
||||
Include="Xamarin.Forms.DataGrid"
|
||||
Version="3.1.0"/>
|
||||
<PackageReference
|
||||
Include="taglib-sharp-netstandard2.0"
|
||||
Version="2.1.0"/>
|
||||
<PackageReference
|
||||
Include="LibVLCSharp.Forms"
|
||||
Version="3.3.1"/>
|
||||
<PackageReference
|
||||
Include="VideoLAN.LibVLC.Mac"
|
||||
Version="3.1.3.1"/>
|
||||
<PackageReference
|
||||
Include="Grpc"
|
||||
Version="2.25.0"/>
|
||||
<PackageReference
|
||||
Include="Grpc.Tools"
|
||||
Version="2.25.0"
|
||||
PrivateAssests="All">
|
||||
<PackageReference Include="Xamarin.Forms" Version="4.3.0.991211" />
|
||||
<PackageReference Include="Xamarin.Essentials" Version="1.3.1" />
|
||||
<PackageReference Include="Xamarin.Forms.DataGrid" Version="3.1.0" />
|
||||
<PackageReference Include="taglib-sharp-netstandard2.0" Version="2.1.0" />
|
||||
<PackageReference Include="LibVLCSharp.Forms" Version="3.3.1" />
|
||||
<PackageReference Include="VideoLAN.LibVLC.Mac" Version="3.1.3.1" />
|
||||
<PackageReference Include="Grpc" Version="2.25.0" />
|
||||
<PackageReference Include="Grpc.Tools" Version="2.25.0" PrivateAssests="All">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference
|
||||
Include="Google.Protobuf"
|
||||
Version="3.10.1"/>
|
||||
<PackageReference
|
||||
Include="Xam.Plugins.Settings"
|
||||
Version="3.1.1"/>
|
||||
<PackageReference
|
||||
Include="Sharpnado.Forms.HorizontalListView"
|
||||
Version="1.3.0"/>
|
||||
<PackageReference Include="Google.Protobuf" Version="3.10.1" />
|
||||
<PackageReference Include="Xam.Plugins.Settings" Version="3.1.1" />
|
||||
<PackageReference Include="Sharpnado.Forms.HorizontalListView" Version="1.3.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder
|
||||
Include="Design\"/>
|
||||
<Folder
|
||||
Include="Design\Components\"/>
|
||||
<Folder
|
||||
Include="Design\Views\"/>
|
||||
<Folder
|
||||
Include="Design\Views\Songs\"/>
|
||||
<Folder
|
||||
Include="Design\Views\MainView\"/>
|
||||
<Folder
|
||||
Include="Design\Behaviors\"/>
|
||||
<Folder
|
||||
Include="Design\Components\NavigationMenu\"/>
|
||||
<Folder
|
||||
Include="Design\Views\Albums\"/>
|
||||
<Folder
|
||||
Include="Design\Views\Artists\"/>
|
||||
<Folder
|
||||
Include="Design\Views\Stations\"/>
|
||||
<Folder
|
||||
Include="Utils\"/>
|
||||
<Folder
|
||||
Include="Models\"/>
|
||||
<Folder
|
||||
Include="Services\"/>
|
||||
<Folder
|
||||
Include="Design\Views\Party\"/>
|
||||
<Folder
|
||||
Include="Design\Components\HostSelector\"/>
|
||||
<Folder
|
||||
Include="Design\Components\MemberList\"/>
|
||||
<Folder
|
||||
Include="Design\Components\Queue\"/>
|
||||
<Folder
|
||||
Include="Design\Views\Profile\"/>
|
||||
<Folder Include="Design\" />
|
||||
<Folder Include="Design\Components\" />
|
||||
<Folder Include="Design\Views\" />
|
||||
<Folder Include="Design\Views\Songs\" />
|
||||
<Folder Include="Design\Views\MainView\" />
|
||||
<Folder Include="Design\Behaviors\" />
|
||||
<Folder Include="Design\Components\NavigationMenu\" />
|
||||
<Folder Include="Design\Views\Albums\" />
|
||||
<Folder Include="Design\Views\Artists\" />
|
||||
<Folder Include="Design\Views\Stations\" />
|
||||
<Folder Include="Utils\" />
|
||||
<Folder Include="Models\" />
|
||||
<Folder Include="Services\" />
|
||||
<Folder Include="Design\Views\Party\" />
|
||||
<Folder Include="Design\Components\HostSelector\" />
|
||||
<Folder Include="Design\Components\MemberList\" />
|
||||
<Folder Include="Design\Components\Library\" />
|
||||
<Folder Include="Design\Views\Profile\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile
|
||||
Update="Design\Components\MusicPlayer\Player.xaml.cs">
|
||||
<Compile Update="Design\Components\MusicPlayer\Player.xaml.cs">
|
||||
<DependentUpon>Player.xaml</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Protobuf
|
||||
Include="Proto\general.proto"/>
|
||||
<Protobuf
|
||||
Include="Proto\party.proto"/>
|
||||
<Protobuf
|
||||
Include="Proto\events.proto"/>
|
||||
<Protobuf
|
||||
Include="Proto\playback.proto"/>
|
||||
<Protobuf
|
||||
Include="Proto\sync.proto"/>
|
||||
<Protobuf Include="Proto\general.proto" />
|
||||
<Protobuf Include="Proto\party.proto" />
|
||||
<Protobuf Include="Proto\events.proto" />
|
||||
<Protobuf Include="Proto\playback.proto" />
|
||||
<Protobuf Include="Proto\sync.proto" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource
|
||||
Update="Design\Components\NavigationMenu\NavigationMenu.css">
|
||||
<EmbeddedResource Update="Design\Components\NavigationMenu\NavigationMenu.css">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
3
Aurora/Design/Components/Library/Library.css
Normal file
3
Aurora/Design/Components/Library/Library.css
Normal file
@ -0,0 +1,3 @@
|
||||
#LibraryDataGrid {
|
||||
background-color: black
|
||||
}
|
@ -3,10 +3,10 @@
|
||||
xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:dg="clr-namespace:Xamarin.Forms.DataGrid;assembly=Xamarin.Forms.DataGrid"
|
||||
x:Class="Aurora.Design.Components.Queue.Queue">
|
||||
x:Class="Aurora.Design.Components.Library.Library">
|
||||
<ContentView.Content>
|
||||
<dg:DataGrid
|
||||
x:Name="QueueDataGrid"
|
||||
x:Name="LibraryDataGrid"
|
||||
SelectionEnabled="True"
|
||||
RowHeight="25"
|
||||
HeaderHeight="40"
|
@ -5,14 +5,14 @@ using Xamarin.Forms;
|
||||
using Xamarin.Forms.DataGrid;
|
||||
using Aurora.Models.Media;
|
||||
|
||||
namespace Aurora.Design.Components.Queue
|
||||
namespace Aurora.Design.Components.Library
|
||||
{
|
||||
public partial class Queue : ContentView
|
||||
public partial class Library : ContentView
|
||||
{
|
||||
public Queue()
|
||||
public Library()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.QueueDataGrid.ItemSelected += (sender, e) =>
|
||||
this.LibraryDataGrid.ItemSelected += (sender, e) =>
|
||||
{
|
||||
this.SelectedItem = e.SelectedItem;
|
||||
};
|
||||
@ -28,7 +28,7 @@ namespace Aurora.Design.Components.Queue
|
||||
public static readonly BindableProperty ItemsSourceProperty =
|
||||
BindableProperty.Create(propertyName: "ItemsSource",
|
||||
returnType: typeof(IEnumerable<object>),
|
||||
declaringType: typeof(Queue),
|
||||
declaringType: typeof(Library),
|
||||
defaultBindingMode: BindingMode.Default,
|
||||
propertyChanged: OnItemsSourceChanged);
|
||||
|
||||
@ -56,9 +56,10 @@ namespace Aurora.Design.Components.Queue
|
||||
/// <param name="newValue"></param>
|
||||
private static void OnItemsSourceChanged(BindableObject bindable, object oldValue, object newValue)
|
||||
{
|
||||
Queue control = bindable as Queue;
|
||||
var queueDataGrid = control.FindByName("QueueDataGrid") as DataGrid;
|
||||
queueDataGrid.ItemsSource = newValue as IEnumerable<object>;
|
||||
Library control = bindable as Library;
|
||||
|
||||
var libraryDataGrid = control.LibraryDataGrid;
|
||||
libraryDataGrid.ItemsSource = newValue as IEnumerable<object>;
|
||||
}
|
||||
|
||||
#endregion ItemsSource Property
|
||||
@ -72,7 +73,7 @@ namespace Aurora.Design.Components.Queue
|
||||
public static readonly BindableProperty SelectedItemProperty =
|
||||
BindableProperty.Create(propertyName: "SelectedItem",
|
||||
returnType: typeof(object),
|
||||
declaringType: typeof(Queue),
|
||||
declaringType: typeof(Library),
|
||||
defaultBindingMode: BindingMode.TwoWay);
|
||||
|
||||
/// <summary>
|
||||
@ -101,7 +102,7 @@ namespace Aurora.Design.Components.Queue
|
||||
public static readonly BindableProperty ItemDoubleClickedProperty =
|
||||
BindableProperty.Create(propertyName: "ItemDoubleClicked",
|
||||
returnType: typeof(Command),
|
||||
declaringType: typeof(Queue),
|
||||
declaringType: typeof(Library),
|
||||
propertyChanged: OnDoubleClickPropertyChanged);
|
||||
|
||||
/// <summary>
|
||||
@ -128,8 +129,8 @@ namespace Aurora.Design.Components.Queue
|
||||
/// <param name="oldValue"></param>
|
||||
private static void OnDoubleClickPropertyChanged(BindableObject bindable, object newValue, object oldValue)
|
||||
{
|
||||
Queue control = bindable as Queue;
|
||||
var queueDataGrid = control.QueueDataGrid;
|
||||
Library control = bindable as Library;
|
||||
var queueDataGrid = control.LibraryDataGrid;
|
||||
if (queueDataGrid.GestureRecognizers.Count > 0)
|
||||
{
|
||||
var gestureRecognizer = queueDataGrid.GestureRecognizers.First();
|
@ -4,21 +4,29 @@
|
||||
|
||||
ListView {
|
||||
background-color: #232323;
|
||||
margin-left: 20;
|
||||
margin-top: 20;
|
||||
margin-left: 15;
|
||||
margin-top: 40;
|
||||
}
|
||||
|
||||
#GroupTemplate Label {
|
||||
color: white;
|
||||
font-size: 14;
|
||||
font-family: Courier New, Courier, monospace;
|
||||
font-weight: 100;
|
||||
margin-top: 500;
|
||||
#GroupTemplate {
|
||||
align-items: end;
|
||||
}
|
||||
|
||||
#ItemTemplate label {
|
||||
color: white;
|
||||
font-size: 18;
|
||||
#GroupCell Label {
|
||||
color: lightgray;
|
||||
background-color: #232323;
|
||||
font-size: 12;
|
||||
font-family: Courier New, Courier, monospace;
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
padding-top: 18;
|
||||
}
|
||||
|
||||
#ItemCell label {
|
||||
color: white;
|
||||
background-color: #232323;
|
||||
font-size: 15;
|
||||
font-family: Courier New, Courier, monospace;
|
||||
font-style: normal;
|
||||
text-align: left;
|
||||
padding-top: 12;
|
||||
}
|
||||
|
@ -14,18 +14,20 @@
|
||||
SeparatorVisibility="None"
|
||||
HasUnevenRows="true"
|
||||
IsGroupingEnabled="true"
|
||||
RowHeight="35"
|
||||
CachingStrategy="RecycleElement">
|
||||
<ListView.GroupHeaderTemplate>
|
||||
<DataTemplate>
|
||||
<ViewCell x:Name="GroupTemplate">
|
||||
<ViewCell x:Name="GroupCell">
|
||||
<Label
|
||||
VerticalTextAlignment="Center"
|
||||
Text="{Binding GroupHeading}"/>
|
||||
</ViewCell>
|
||||
</DataTemplate>
|
||||
</ListView.GroupHeaderTemplate>
|
||||
<ListView.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<ViewCell x:Name="ItemTemplate">
|
||||
<ViewCell x:Name="ItemCell">
|
||||
<Label
|
||||
Text="{Binding Title}"/>
|
||||
</ViewCell>
|
||||
|
@ -11,10 +11,13 @@ namespace Aurora.Design.Components.NavigationMenu
|
||||
{
|
||||
InitializeComponent();
|
||||
ListView = MenuItemsListView;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public ListView ListView;
|
||||
|
||||
|
||||
public static readonly BindableProperty ItemsProperty =
|
||||
BindableProperty.Create(propertyName: nameof(Items),
|
||||
returnType: typeof(ObservableCollection<NavigationItem>),
|
||||
|
13
Aurora/Design/Views/MainView/MainView.css
Normal file
13
Aurora/Design/Views/MainView/MainView.css
Normal file
@ -0,0 +1,13 @@
|
||||
^ContentPage {
|
||||
background-color: #232323;
|
||||
}
|
||||
|
||||
#Header {
|
||||
background-color: #232323;
|
||||
}
|
||||
|
||||
#Header > Entry {
|
||||
margin-left: 155;
|
||||
margin-top: 2;
|
||||
margin-bottom: 2;
|
||||
}
|
@ -4,20 +4,50 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:views="clr-namespace:Aurora.Design.Views.MainView"
|
||||
xmlns:navigation="clr-namespace:Aurora.Design.Components.NavigationMenu"
|
||||
xmlns:mp="clr-namespace:Aurora.Design.Components.MediaPlayer"
|
||||
x:Class="Aurora.Design.Views.Main.MainView">
|
||||
<ContentPage.Resources>
|
||||
<StyleSheet
|
||||
Source="MainView.css"/>
|
||||
</ContentPage.Resources>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="150"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="28"/>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="50"/>
|
||||
</Grid.RowDefinitions>
|
||||
<!--Header-->
|
||||
<StackLayout
|
||||
x:Name="Header"
|
||||
Orientation="Horizontal">
|
||||
<Entry Text="Search"/>
|
||||
</StackLayout>
|
||||
|
||||
<navigation:NavigationMenu
|
||||
<!--Library Grid-->
|
||||
<Grid Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="150"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<navigation:NavigationMenu
|
||||
Grid.Column="0"
|
||||
x:Name="MasterPage"
|
||||
Items="{Binding Pages}"/>
|
||||
|
||||
<views:PageContainer
|
||||
Grid.Column="1"
|
||||
x:Name="ContentPage"/>
|
||||
<views:PageContainer
|
||||
Grid.Column="1"
|
||||
Grid.Row="0"
|
||||
x:Name="ContentPage"/>
|
||||
|
||||
</Grid>
|
||||
|
||||
<!--Music Player-->
|
||||
<mp:Player
|
||||
x:Name="Player"
|
||||
Grid.Row="2"
|
||||
HorizontalOptions="Center"
|
||||
HeightRequest="50"/>
|
||||
</Grid>
|
||||
|
||||
</ContentPage>
|
@ -33,7 +33,7 @@ namespace Aurora.Design.Views.Main
|
||||
BindingContext = new MainViewModel();
|
||||
_viewModels = new Dictionary<int, BaseViewModel>();
|
||||
|
||||
_player = (Player)ContentPage.FindByName("Player");
|
||||
_player = Player;
|
||||
_viewContent = (ContentPresenter)ContentPage.Content.FindByName("ViewContent");
|
||||
|
||||
MasterPage.ListView.ItemSelected += OnNavItemSelected;
|
||||
|
@ -32,12 +32,13 @@ namespace Aurora.Design.Views.MainView
|
||||
{
|
||||
_pages = new ObservableCollection<NavigationItem>(new[]
|
||||
{
|
||||
new NavigationItem { Id = 0, Title = "Songs", Group="Library", TargetType = typeof(SongsView), TargetViewModelType = typeof(SongsViewModel) },
|
||||
new NavigationItem { Id = 1, Title = "Artists", Group="Library", TargetType = typeof(ArtistsView), TargetViewModelType = typeof(ArtistsViewModel)},
|
||||
new NavigationItem { Id = 2, Title = "Albums", Group="Library", TargetType = typeof(AlbumsView), TargetViewModelType = typeof(AlbumsViewModel)},
|
||||
new NavigationItem { Id = 3, Title = "Stations", Group="Library", TargetType = typeof(StationsView), TargetViewModelType = typeof(StationsViewModel)},
|
||||
new NavigationItem { Id = 0, Title = "Songs", Group="Your Music", TargetType = typeof(SongsView), TargetViewModelType = typeof(SongsViewModel) },
|
||||
new NavigationItem { Id = 1, Title = "Artists", Group="Your Music", TargetType = typeof(ArtistsView), TargetViewModelType = typeof(ArtistsViewModel)},
|
||||
new NavigationItem { Id = 2, Title = "Albums", Group="Your Music", TargetType = typeof(AlbumsView), TargetViewModelType = typeof(AlbumsViewModel)},
|
||||
new NavigationItem { Id = 3, Title = "Stations", Group="Your Music", TargetType = typeof(StationsView), TargetViewModelType = typeof(StationsViewModel)},
|
||||
new NavigationItem { Id = 4, Title = "Party", Group="Social", TargetType = typeof(PartyView), TargetViewModelType = typeof(PartyViewModel)},
|
||||
new NavigationItem { Id = 5, Title = "Profile", Group="Social", TargetType = typeof(ProfileView), TargetViewModelType = typeof(ProfileViewModel)},
|
||||
new NavigationItem { Id = 6, Title = "A + B", Group="Playlists", TargetType = typeof(StationsView), TargetViewModelType = typeof(StationsViewModel)}
|
||||
});
|
||||
|
||||
}
|
||||
|
@ -1,28 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ContentView
|
||||
xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:components="clr-namespace:Aurora.Design.Components"
|
||||
xmlns:mp="clr-namespace:Aurora.Design.Components.MediaPlayer"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
x:Class="Aurora.Design.Views.MainView.PageContainer">
|
||||
<ContentView.Content>
|
||||
<Grid
|
||||
x:Name="Grid">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition
|
||||
Height="*"/>
|
||||
<RowDefinition
|
||||
Height="50"/>
|
||||
</Grid.RowDefinitions>
|
||||
<ContentPresenter
|
||||
Grid.Row="0"
|
||||
x:Name="ViewContent"/>
|
||||
<mp:Player
|
||||
x:Name="Player"
|
||||
Grid.Row="1"
|
||||
HorizontalOptions="CenterAndExpand"
|
||||
VerticalOptions="End"
|
||||
HeightRequest="200"/>
|
||||
|
||||
</Grid>
|
||||
</ContentView.Content>
|
||||
</ContentView>
|
@ -4,8 +4,7 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:hs="clr-namespace:Aurora.Design.Components.HostSelector"
|
||||
xmlns:ml="clr-namespace:Aurora.Design.Components.MemberList"
|
||||
xmlns:renderedViews="clr-namespace:Sharpnado.Presentation.Forms.RenderedViews;assembly=Sharpnado.Presentation.Forms"
|
||||
xmlns:qu="clr-namespace:Aurora.Design.Components.Queue"
|
||||
xmlns:library="clr-namespace:Aurora.Design.Components.Library"
|
||||
x:Class="Aurora.Design.Views.Party.PartyView">
|
||||
<ContentView.Content>
|
||||
<Grid>
|
||||
@ -23,7 +22,7 @@
|
||||
Members="{Binding Members}"/>
|
||||
<Label
|
||||
Text="Queue"/>
|
||||
<qu:Queue
|
||||
<library:Library
|
||||
ItemsSource="{Binding Queue}"
|
||||
SelectedItem="{Binding SelectedSong}"
|
||||
ItemDoubleClicked="{Binding PlayCommand}"/>
|
||||
|
@ -2,54 +2,12 @@
|
||||
<ContentView
|
||||
xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:songs="clr-namespace:Aurora.Design.Views.Songs"
|
||||
xmlns:dg="clr-namespace:Xamarin.Forms.DataGrid;assembly=Xamarin.Forms.DataGrid"
|
||||
xmlns:library="clr-namespace:Aurora.Design.Components.Library"
|
||||
x:Class="Aurora.Design.Views.Songs.SongsView">
|
||||
<ContentPage.Content>
|
||||
<dg:DataGrid
|
||||
ItemsSource="{Binding SongsList}"
|
||||
SelectionEnabled="True"
|
||||
SelectedItem="{Binding SelectedSong}"
|
||||
RowHeight="30"
|
||||
HeaderHeight="50"
|
||||
BorderColor="#CCCCCC"
|
||||
HeaderBackground="#E0E6F8">
|
||||
<dg:DataGrid.GestureRecognizers>
|
||||
<TapGestureRecognizer
|
||||
Command="{Binding PlayCommand}"
|
||||
NumberOfTapsRequired="2"/>
|
||||
</dg:DataGrid.GestureRecognizers><!-- Header -->
|
||||
<dg:DataGrid.HeaderFontSize>
|
||||
<OnIdiom
|
||||
x:TypeArguments="x:Double">
|
||||
<OnIdiom.Tablet>15</OnIdiom.Tablet>
|
||||
<OnIdiom.Phone>13</OnIdiom.Phone>
|
||||
<OnIdiom.Desktop>20</OnIdiom.Desktop>
|
||||
</OnIdiom>
|
||||
</dg:DataGrid.HeaderFontSize><!-- Columns -->
|
||||
<dg:DataGrid.Columns>
|
||||
<dg:DataGridColumn
|
||||
Title="Title"
|
||||
PropertyName="Metadata.Title"
|
||||
Width="2*"/>
|
||||
<dg:DataGridColumn
|
||||
Title="Album"
|
||||
PropertyName="Metadata.Album"
|
||||
Width="0.95*"/>
|
||||
<dg:DataGridColumn
|
||||
Title="Artist"
|
||||
PropertyName="Metadata.Artist"
|
||||
Width="1*"/>
|
||||
<dg:DataGridColumn
|
||||
Title="Duration"
|
||||
PropertyName="Metadata.Duration"/>
|
||||
</dg:DataGrid.Columns><!-- Row Colors -->
|
||||
<dg:DataGrid.RowsBackgroundColorPalette>
|
||||
<dg:PaletteCollection>
|
||||
<Color>#F2F2F2</Color>
|
||||
<Color>#FFFFFF</Color>
|
||||
</dg:PaletteCollection>
|
||||
</dg:DataGrid.RowsBackgroundColorPalette>
|
||||
</dg:DataGrid>
|
||||
</ContentPage.Content>
|
||||
<ContentView.Content>
|
||||
<library:Library
|
||||
ItemsSource="{Binding SongsList}"
|
||||
SelectedItem="{Binding SelectedSong}"
|
||||
ItemDoubleClicked="{Binding PlayCommand}"/>
|
||||
</ContentView.Content>
|
||||
</ContentView>
|
Reference in New Issue
Block a user