This commit is contained in:
dan_clark@outlook.com
2022-03-23 15:44:32 +00:00
commit 2ac0e3ed26
129 changed files with 4197 additions and 0 deletions
@@ -0,0 +1,15 @@
using TheXamlGuy.TaskbarGroup.Core;
namespace TheXamlGuy.TaskbarGroup.Flyout
{
public class TaskbarButtonGroupItemViewModel : ObservableViewModel
{
public TaskbarButtonGroupItemViewModel(IMessenger messenger,
IServiceFactory serviceFactory,
IDisposer disposer) : base(messenger, serviceFactory, disposer)
{
}
public string Name { get; set; }
}
}
@@ -0,0 +1,34 @@
<UserControl
x:Class="TheXamlGuy.TaskbarGroup.Flyout.TaskbarButtonGroupView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
AllowDrop="True">
<StackPanel>
<TextBox HorizontalAlignment="Stretch" Text="{x:Bind ViewModel.Name, Mode=TwoWay}" />
<GridView
x:Name="GridView"
IsItemClickEnabled="True"
ItemsSource="{x:Bind ViewModel}"
SelectionMode="None">
<GridView.ItemContainerStyle>
<Style TargetType="GridViewItem">
<Setter Property="Margin" Value="0" />
</Style>
</GridView.ItemContainerStyle>
<GridView.ItemTemplate>
<DataTemplate>
<Border
Width="94"
Height="84"
Background="Transparent" />
</DataTemplate>
</GridView.ItemTemplate>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid MaximumRowsOrColumns="2" Orientation="Horizontal" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
</StackPanel>
</UserControl>
@@ -0,0 +1,16 @@
using TheXamlGuy.TaskbarGroup.Core;
using TheXamlGuy.TaskbarGroup.Flyout.Foundation;
namespace TheXamlGuy.TaskbarGroup.Flyout
{
public sealed partial class TaskbarButtonGroupView : IBindViewModel<TaskbarButtonGroupViewModel>
{
public TaskbarButtonGroupView()
{
InitializeComponent();
this.Bind();
}
public TaskbarButtonGroupViewModel ViewModel { get; set; }
}
}
@@ -0,0 +1,23 @@
using CommunityToolkit.Mvvm.ComponentModel;
using TheXamlGuy.TaskbarGroup.Core;
namespace TheXamlGuy.TaskbarGroup.Flyout
{
public partial class TaskbarButtonGroupViewModel : ObservableCollectionViewModel<TaskbarButtonGroupItemViewModel>
{
public TaskbarButtonGroupViewModel(IMessenger messenger,
IServiceFactory serviceFactory,
IDisposer disposer) : base(messenger, serviceFactory, disposer)
{
Register<FileDropped>(OnFileDropped);
}
[ObservableProperty]
private string name = "hello";
private void OnFileDropped(FileDropped args)
{
Add();
}
}
}
@@ -0,0 +1,13 @@
<UserControl
x:Class="TheXamlGuy.TaskbarGroup.Flyout.TaskbarButtonView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Border>
<ContentControl
Margin="12"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
Content="{x:Bind ViewModel.TaskbarButtonGroupViewModel}"
ContentTemplateSelector="{x:Bind ViewModel.TemplateSelector}" />
</Border>
</UserControl>
@@ -0,0 +1,14 @@
using TheXamlGuy.TaskbarGroup.Core;
namespace TheXamlGuy.TaskbarGroup.Flyout
{
public sealed partial class TaskbarButtonView : IBindViewModel<TaskbarButtonViewModel>
{
public TaskbarButtonView()
{
InitializeComponent();
}
public TaskbarButtonViewModel ViewModel { get; set; }
}
}
@@ -0,0 +1,22 @@
using TheXamlGuy.TaskbarGroup.Core;
using TheXamlGuy.TaskbarGroup.Flyout.Foundation;
namespace TheXamlGuy.TaskbarGroup.Flyout
{
public class TaskbarButtonViewModel : ObservableViewModel
{
public TaskbarButtonViewModel(IMessenger messenger,
IServiceFactory serviceFactory,
IDisposer disposer,
TemplateSelector templateSelector,
TaskbarButtonGroupViewModel taskbarButtonGroupViewModel) : base(messenger, serviceFactory, disposer)
{
TemplateSelector = templateSelector;
TaskbarButtonGroupViewModel = taskbarButtonGroupViewModel;
}
public TemplateSelector TemplateSelector { get; }
public TaskbarButtonGroupViewModel TaskbarButtonGroupViewModel { get; }
}
}