project
This commit is contained in:
@@ -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; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user