feat: Add Card control and card demo with album images.
This commit is contained in:
1 parent
e7005d09b5
commit
d6e16736e4
23 files changed
+287
-47
No files matched your search
@@ -0,0 +1,53 @@
|
||||
<UserControl xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:hc="https://handyorg.github.io/handycontrol"
|
||||
xmlns:vm="clr-namespace:HandyControlDemo.ViewModel"
|
||||
xmlns:data="clr-namespace:HandyControlDemo.Data"
|
||||
xmlns:cv="clr-namespace:HandyControlDemo.Tools.Converter"
|
||||
x:Class="HandyControlDemo.UserControl.CardDemo"
|
||||
x:DataType="vm:CardDemoViewModel"
|
||||
DataContext="{Binding CardDemo, Source={x:Static vm:ViewModelLocator.Instance}}">
|
||||
<UserControl.Resources>
|
||||
<cv:StringToBitmapConverter x:Key="StringToBitmap" />
|
||||
</UserControl.Resources>
|
||||
<ScrollViewer>
|
||||
<ItemsControl Margin="32"
|
||||
ItemsSource="{Binding DataList}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<WrapPanel />
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="data:CardModel">
|
||||
<hc:Card MaxWidth="240"
|
||||
BorderThickness="0"
|
||||
Effect="{StaticResource EffectShadow2}"
|
||||
Margin="8">
|
||||
<hc:Card.Footer>
|
||||
<StackPanel Margin="10">
|
||||
<TextBlock TextWrapping="NoWrap"
|
||||
TextTrimming="CharacterEllipsis"
|
||||
Theme="{StaticResource TextBlockLargeBold}"
|
||||
Text="{Binding Header}"
|
||||
HorizontalAlignment="Left" />
|
||||
<TextBlock TextWrapping="NoWrap"
|
||||
TextTrimming="CharacterEllipsis"
|
||||
Text="{Binding Footer}"
|
||||
Margin="0,6,0,0"
|
||||
HorizontalAlignment="Left" />
|
||||
</StackPanel>
|
||||
</hc:Card.Footer>
|
||||
<Border CornerRadius="4,4,0,0"
|
||||
ClipToBounds="True">
|
||||
<Image Width="240"
|
||||
Height="240"
|
||||
Source="{Binding Content, Converter={StaticResource StringToBitmap}}"
|
||||
Stretch="Uniform" />
|
||||
</Border>
|
||||
</hc:Card>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</ScrollViewer>
|
||||
</UserControl>
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class CardDemo : Avalonia.Controls.UserControl
|
||||
{
|
||||
public CardDemo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
+10
-3
@@ -2,8 +2,14 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:hc="https://handyorg.github.io/handycontrol"
|
||||
xmlns:vm="clr-namespace:HandyControlDemo.ViewModel"
|
||||
xmlns:data="clr-namespace:HandyControlDemo.Data"
|
||||
xmlns:cv="clr-namespace:HandyControlDemo.Tools.Converter"
|
||||
x:Class="HandyControlDemo.UserControl.HoneycombPanelDemo"
|
||||
DataContext="{Binding HoneycombPanelDemo, Source={x:Static vm:ViewModelLocator.Instance}}">
|
||||
x:DataType="vm:CardDemoViewModel"
|
||||
DataContext="{Binding CardDemo, Source={x:Static vm:ViewModelLocator.Instance}}">
|
||||
<UserControl.Resources>
|
||||
<cv:StringToBitmapConverter x:Key="StringToBitmap" />
|
||||
</UserControl.Resources>
|
||||
<Grid Margin="32">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
@@ -25,13 +31,14 @@
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<DataTemplate DataType="data:CardModel">
|
||||
<Border Width="60"
|
||||
Height="60"
|
||||
Margin="6"
|
||||
CornerRadius="30"
|
||||
ClipToBounds="True">
|
||||
<Image Source="{Binding}" Stretch="UniformToFill" />
|
||||
<Image Source="{Binding Content, Converter={StaticResource StringToBitmap}}"
|
||||
Stretch="UniformToFill" />
|
||||
</Border>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
|
||||
Reference in new issue
Block a user