diff --git a/demo/Ursa.Demo/Pages/BreadcrumbDemo.axaml b/demo/Ursa.Demo/Pages/BreadcrumbDemo.axaml
index 0df146e..101542e 100644
--- a/demo/Ursa.Demo/Pages/BreadcrumbDemo.axaml
+++ b/demo/Ursa.Demo/Pages/BreadcrumbDemo.axaml
@@ -19,6 +19,7 @@
+
@@ -29,7 +30,7 @@
-
+
@@ -40,6 +41,11 @@
IconBinding="{Binding Icon}"
CommandBinding="{Binding Command}"
ItemsSource="{Binding Items1}">
+
+
+
diff --git a/demo/Ursa.Demo/ViewModels/BreadcrumbDemoViewModel.cs b/demo/Ursa.Demo/ViewModels/BreadcrumbDemoViewModel.cs
index babdf6d..d5dbbee 100644
--- a/demo/Ursa.Demo/ViewModels/BreadcrumbDemoViewModel.cs
+++ b/demo/Ursa.Demo/ViewModels/BreadcrumbDemoViewModel.cs
@@ -18,15 +18,16 @@ public class BreadcrumbDemoViewModel: ObservableObject
new BreadcrumbDemoItem() { Section = "Page 1", Icon = "Page" },
new BreadcrumbDemoItem() { Section = "Page 2", Icon = "Page" },
new BreadcrumbDemoItem() { Section = "Page 3", Icon = "Page" },
- new BreadcrumbDemoItem() { Section = "Page 4", Icon = "Page" },
+ new BreadcrumbDemoItem() { Section = "Page 4", Icon = "Page", IsReadOnly = true},
};
}
}
-public class BreadcrumbDemoItem: ObservableObject
+public partial class BreadcrumbDemoItem: ObservableObject
{
public string Section { get; set; }
public string Icon { get; set; }
+ [ObservableProperty] private bool _isReadOnly;
public ICommand Command { get; set; }
diff --git a/src/Ursa.Themes.Semi/Controls/Breadcrumb.axaml b/src/Ursa.Themes.Semi/Controls/Breadcrumb.axaml
index 03b74a1..a14d0e2 100644
--- a/src/Ursa.Themes.Semi/Controls/Breadcrumb.axaml
+++ b/src/Ursa.Themes.Semi/Controls/Breadcrumb.axaml
@@ -19,13 +19,9 @@
-
-
@@ -61,6 +57,9 @@
+
-
@@ -81,7 +80,7 @@
-
@@ -90,55 +89,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Ursa/Controls/Breadcrumb/Breadcrumb.cs b/src/Ursa/Controls/Breadcrumb/Breadcrumb.cs
index b54a5ec..4818d40 100644
--- a/src/Ursa/Controls/Breadcrumb/Breadcrumb.cs
+++ b/src/Ursa/Controls/Breadcrumb/Breadcrumb.cs
@@ -56,15 +56,6 @@ public class Breadcrumb: ItemsControl
get => GetValue(IconTemplateProperty);
set => SetValue(IconTemplateProperty, value);
}
-
- public static readonly StyledProperty IsReadOnlyProperty = AvaloniaProperty.Register(
- nameof(IsReadOnly));
-
- public bool IsReadOnly
- {
- get => GetValue(IsReadOnlyProperty);
- set => SetValue(IsReadOnlyProperty, value);
- }
static Breadcrumb()
{
diff --git a/src/Ursa/Controls/Breadcrumb/BreadcrumbItem.cs b/src/Ursa/Controls/Breadcrumb/BreadcrumbItem.cs
index 35aa6e1..64aaf9f 100644
--- a/src/Ursa/Controls/Breadcrumb/BreadcrumbItem.cs
+++ b/src/Ursa/Controls/Breadcrumb/BreadcrumbItem.cs
@@ -49,11 +49,19 @@ public class BreadcrumbItem: ContentControl
set => SetValue(IconTemplateProperty, value);
}
+ public static readonly StyledProperty IsReadOnlyProperty = AvaloniaProperty.Register(
+ nameof(IsReadOnly));
+
+ public bool IsReadOnly
+ {
+ get => GetValue(IsReadOnlyProperty);
+ set => SetValue(IsReadOnlyProperty, value);
+ }
+
protected override void OnPointerPressed(PointerPressedEventArgs e)
{
base.OnPointerPressed(e);
- var parent = this.FindLogicalAncestorOfType();
- if (parent?.IsReadOnly != true)
+ if (!IsReadOnly)
{
Command?.Execute(null);
}