Skip to content

Commit

Permalink
Fix state button
Browse files Browse the repository at this point in the history
  • Loading branch information
IeuanWalker committed Dec 29, 2022
1 parent 871a1f4 commit 47d169c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 15 deletions.
2 changes: 1 addition & 1 deletion Scr/Breadcrumb.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="IeuanWalker.Maui.StateButton" Version="1.0.0" />
<PackageReference Include="IeuanWalker.Maui.StateButton" Version="1.0.1" />
</ItemGroup>

<ItemGroup>
Expand Down
23 changes: 9 additions & 14 deletions Scr/Breadcrumb.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -152,13 +152,12 @@ async void BreadCrumbContainer_Loaded(object sender, EventArgs e)
// Loop all pages
foreach (Page page in pages)
{
// Create breadcrumb
Border breadcrumb = BreadcrumbCreator(page, page.Equals(pages.LastOrDefault()), page.Equals(pages.FirstOrDefault()));
if (!page.Equals(pages.LastOrDefault()))
{
// Create breadcrumb
Border breadCrumb1 = BreadCrumbLabelCreator(page, false, page.Equals(pages.FirstOrDefault()));

// Add breadcrumb and separator to BreadCrumbContainer
BreadCrumbContainer.Children.Add(breadCrumb1);
BreadCrumbContainer.Children.Add(breadcrumb);

// Add separator
Image separator = new()
Expand All @@ -180,12 +179,9 @@ async void BreadCrumbContainer_Loaded(object sender, EventArgs e)

// Add ChildAdded event to trigger animation
BreadCrumbContainer.ChildAdded += AnimatedStack_ChildAdded;

// Create selectedPage title label
Border breadCrumb2 = BreadCrumbLabelCreator(page, true, page.Equals(pages.FirstOrDefault()));


// Move BreadCrumb of selectedPage to start the animation
breadCrumb2.TranslationX = Application.Current?.MainPage?.Width ?? 0;
breadcrumb.TranslationX = Application.Current?.MainPage?.Width ?? 0;

// Scroll to end of control
await Task.Delay(10);
Expand All @@ -199,7 +195,7 @@ async void BreadCrumbContainer_Loaded(object sender, EventArgs e)
await BreadCrumbsScrollView.ScrollToAsync(BreadCrumbContainer, ScrollToPosition.End, false);

// Add breadcrumb to container
BreadCrumbContainer.Children.Add(breadCrumb2);
BreadCrumbContainer.Children.Add(breadcrumb);

// Scroll to last breadcrumb
await BreadCrumbsScrollView.ScrollToAsync(BreadCrumbContainer, ScrollToPosition.End, AnimationSpeed != 0);
Expand All @@ -212,9 +208,9 @@ async void BreadCrumbContainer_Loaded(object sender, EventArgs e)
/// <param name="page"></param>
/// <param name="isLast"></param>
/// <param name="isFirst"></param>
Border BreadCrumbLabelCreator(Page page, bool isLast, bool isFirst)
Border BreadcrumbCreator(Page page, bool isLast, bool isFirst)
{
// Create StackLayout to contain the label within a PancakeView
// Create border control for the breadcrumb
Border container = IsNavigationEnabled && !isLast ?
new StateButton.StateButton
{
Expand All @@ -235,8 +231,7 @@ Border BreadCrumbLabelCreator(Page page, bool isLast, bool isFirst)
container.SetBinding(BackgroundColorProperty, new Binding(isLast ? nameof(LastBreadcrumbBackgroundColor) : nameof(BreadcrumbBackgroundColor), source: new RelativeBindingSource(RelativeBindingSourceMode.FindAncestor, typeof(Breadcrumb))));

SemanticProperties.SetDescription(container, page.Title);

// Create and Add label to StackLayout

if (isFirst && FirstBreadcrumb is not null)
{
container.Content = new Image
Expand Down

0 comments on commit 47d169c

Please sign in to comment.