Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ public override string ToString()
new GalleryPageFactory(() => new CollectionViewFeaturePage(), "CollectionView Feature Matrix"),
new GalleryPageFactory(() => new LabelControlPage(), "Label Feature Matrix"),
new GalleryPageFactory(() => new CarouselViewFeaturePage(), "CarouselView Feature Matrix"),
new GalleryPageFactory(() => new ImageControlPage(), "Image Feature Matrix"),
new GalleryPageFactory(() => new ImageButtonControlPage(), "ImageButton Feature Matrix"),
new GalleryPageFactory(() => new BoxViewControlPage(), "BoxView Feature Matrix"),
};
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Maui.Controls.Sample"
x:Class="Maui.Controls.Sample.ImageControlMainPage"
x:DataType="local:ImageViewModel"
Title="ImageFeature">

<ContentPage.ToolbarItems>
<ToolbarItem Text="Options"
Clicked="NavigateToOptionsPage_Clicked"
AutomationId="Options"/>
</ContentPage.ToolbarItems>
<VerticalStackLayout>
<Border x:Name="Container"
Stroke="Black"
StrokeThickness="2"
HeightRequest="{Binding ContainerHeight}"
WidthRequest="{Binding ContainerWidth}"
HorizontalOptions="Center">

<Image x:Name="TestImage"
Aspect="{Binding Aspect}"
IsAnimationPlaying="{Binding IsAnimationPlaying}"
IsOpaque="{Binding IsOpaque}"
Source="{Binding Source}"
IsVisible="{Binding IsVisible}"
FlowDirection="{Binding FlowDirection}"
Shadow="{Binding ImageShadow}"
AutomationId="ImageControl"/>
</Border>
</VerticalStackLayout>
</ContentPage>
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
using System;
using Microsoft.Maui.Controls;

namespace Maui.Controls.Sample
{
public class ImageControlPage : NavigationPage
{
private ImageViewModel _viewModel;
public ImageControlPage()
{
_viewModel = new ImageViewModel();

PushAsync(new ImageControlMainPage(_viewModel));
}
}

public partial class ImageControlMainPage : ContentPage
{
private ImageViewModel _viewModel;

public ImageControlMainPage(ImageViewModel viewModel)
{
InitializeComponent();
_viewModel = viewModel;
BindingContext = _viewModel;
}

private async void NavigateToOptionsPage_Clicked(object sender, EventArgs e)
{
BindingContext = _viewModel = new ImageViewModel();
await Navigation.PushAsync(new ImageOptionsPage(_viewModel));
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Maui.Controls.Sample"
x:Class="Maui.Controls.Sample.ImageOptionsPage"
Title="SliderFeature">
<ContentPage.ToolbarItems>
<ToolbarItem Text="Apply"
Clicked="ApplyButton_Clicked"
AutomationId="Apply"/>
</ContentPage.ToolbarItems>
<VerticalStackLayout Padding="10"
Spacing="4">
<Label Text="Aspect"
FontAttributes="Bold"
FontSize="14"/>
<HorizontalStackLayout>
<RadioButton Content="AspectFit"
IsChecked="True"
GroupName="AspectGroup"
CheckedChanged="AspectRadio_CheckedChanged"
AutomationId="ImageAspectFit"/>
<RadioButton Content="AspectFill"
GroupName="AspectGroup"
CheckedChanged="AspectRadio_CheckedChanged"
AutomationId="ImageAspectFill"/>
<RadioButton Content="Fill"
GroupName="AspectGroup"
CheckedChanged="AspectRadio_CheckedChanged"
AutomationId="ImageFill"/>
<RadioButton Content="Center"
GroupName="AspectGroup"
CheckedChanged="AspectRadio_CheckedChanged"
AutomationId="ImageCenter"/>
</HorizontalStackLayout>
<Label Text="IsAnimationPlaying"
FontAttributes="Bold"
FontSize="14"/>
<HorizontalStackLayout>
<RadioButton Content="False"
IsChecked="True"
GroupName="AnimGroup"
CheckedChanged="AnimRadio_CheckedChanged"
AutomationId="IsAnimationFalse"/>
<RadioButton Content="True"
GroupName="AnimGroup"
CheckedChanged="AnimRadio_CheckedChanged"
AutomationId="IsAnimationTrue"/>
</HorizontalStackLayout>
<Label Text="Is Opaque"
FontAttributes="Bold"
FontSize="14"/>
<HorizontalStackLayout>
<RadioButton Content="False"
IsChecked="True"
GroupName="OpaqueGroup"
CheckedChanged="OpaqueRadio_CheckedChanged"
AutomationId="IsOpaqueFalse"/>
<RadioButton Content="True"
GroupName="OpaqueGroup"
CheckedChanged="OpaqueRadio_CheckedChanged"
AutomationId="IsOpaqueTrue"/>
</HorizontalStackLayout>
<Label Text="Source Type"
FontAttributes="Bold"
FontSize="14"/>
<HorizontalStackLayout>
<RadioButton Content="File"
GroupName="SourceTypeGroup"
CheckedChanged="SourceTypeRadio_CheckedChanged"
AutomationId="SourceTypeFile"/>
<RadioButton Content="Uri"
GroupName="SourceTypeGroup"
CheckedChanged="SourceTypeRadio_CheckedChanged"
AutomationId="SourceTypeUri"/>
<RadioButton Content="Stream"
GroupName="SourceTypeGroup"
CheckedChanged="SourceTypeRadio_CheckedChanged"
AutomationId="SourceTypeStream"/>
<RadioButton Content="FontImage"
GroupName="SourceTypeGroup"
CheckedChanged="SourceTypeRadio_CheckedChanged"
AutomationId="SourceTypeFontImage"/>
</HorizontalStackLayout>
<!-- FontImageSource Color Options -->
<Label Text="FontImageSource TextColor:"
FontAttributes="Bold"
FontSize="14"/>
<HorizontalStackLayout>
<RadioButton Content="Red"
CheckedChanged="FontColorRadio_CheckedChanged"
AutomationId="FontColorRed"/>
<RadioButton Content="Green"
CheckedChanged="FontColorRadio_CheckedChanged"
AutomationId="FontColorGreen"/>
<RadioButton Content="Blue"
CheckedChanged="FontColorRadio_CheckedChanged"
AutomationId="FontColorBlue"/>
</HorizontalStackLayout>

<Label Text="FontImageSource Size:"
FontAttributes="Bold"
FontSize="14"/>
<Entry Placeholder="Enter font size"
Focused="FontSizeEntry_Focused"
TextChanged="FontSizeEntry_TextChanged"
AutomationId="EntryFontSize"/>

<Label Text="Flow Direction:"
FontSize="15"/>
<HorizontalStackLayout>
<RadioButton x:Name="FlowDirectionLTR"
AutomationId="FlowDirectionLTR"
GroupName="FlowDirection"
Content="LTR"
IsChecked="True"
FontSize="14"
CheckedChanged="OnFlowDirectionChanged"/>
<RadioButton x:Name="FlowDirectionRTL"
AutomationId="FlowDirectionRTL"
GroupName="FlowDirection"
Content="RTL"
FontSize="14"
CheckedChanged="OnFlowDirectionChanged"/>
</HorizontalStackLayout>

<Label Text="Is Visible:"
FontSize="15"/>
<HorizontalStackLayout>
<RadioButton x:Name="IsVisibleTrueRadio"
AutomationId="IsVisibleTrueRadio"
GroupName="IsVisible"
Content="True"
IsChecked="True"
FontSize="14"
CheckedChanged="OnIsVisibleCheckedChanged"/>
<RadioButton x:Name="IsVisibleFalseRadio"
AutomationId="IsVisibleFalseRadio"
GroupName="IsVisible"
Content="False"
FontSize="14"
CheckedChanged="OnIsVisibleCheckedChanged"/>
</HorizontalStackLayout>
<HorizontalStackLayout Spacing="20">
<Label Text="Shadow"
VerticalOptions="Center"/>
<CheckBox IsChecked="{Binding HasShadow}"
AutomationId="ShadowCheckBox"
VerticalOptions="Center"/>
</HorizontalStackLayout>

</VerticalStackLayout>
</ContentPage>
Loading