feat: wip.

This commit is contained in:
rabbitism
2024-02-21 14:30:51 +08:00
parent 76da0b3616
commit ab4b74d055
6 changed files with 35 additions and 8 deletions

View File

@@ -5,6 +5,6 @@
xmlns:u-semi="https://irihi.tech/ursa/themes/semi">
<Application.Styles>
<StyleInclude Source="avares://Semi.Avalonia/Themes/Index.axaml" />
<u-semi:SemiTheme Locale="zh-CN"/>
<u-semi:SemiTheme Locale="zh-CN" />
</Application.Styles>
</Application>

View File

@@ -2,6 +2,7 @@
using Avalonia.Controls.Primitives;
using Avalonia.Controls.Templates;
using Avalonia.Data;
using Ursa.Controls;
using Ursa.Demo.ViewModels;
namespace Ursa.Demo.Converters;
@@ -18,6 +19,7 @@ public class ToolBarItemTemplateSelector: IDataTemplate
{
[!ContentControl.ContentProperty] = new Binding() { Path = "Content" },
[!Button.CommandProperty] = new Binding() { Path = "Command" },
[!ToolBar.OverflowModeProperty] = new Binding(){ Path = "OverflowMode" }
};
}
if (param is ToolBarCheckBoxItemViweModel cb)
@@ -27,6 +29,7 @@ public class ToolBarItemTemplateSelector: IDataTemplate
[!ContentControl.ContentProperty] = new Binding() { Path = "Content" },
[!ToggleButton.IsCheckedProperty] = new Binding() { Path = "IsChecked" },
[!Button.CommandProperty] = new Binding() { Path = "Command" },
[!ToolBar.OverflowModeProperty] = new Binding(){ Path = "OverflowMode" }
};
}
if (param is ToolBarComboBoxItemViewModel combo)
@@ -36,6 +39,7 @@ public class ToolBarItemTemplateSelector: IDataTemplate
[!ContentControl.ContentProperty] = new Binding() { Path = "Content" },
[!SelectingItemsControl.SelectedItemProperty] = new Binding() { Path = "SelectedItem" },
[!ItemsControl.ItemsSourceProperty] = new Binding() { Path = "Items" },
[!ToolBar.OverflowModeProperty] = new Binding(){ Path = "OverflowMode" }
};
}
return new Button() { Content = "Undefined Item" };

View File

@@ -13,11 +13,11 @@ public partial class ToolBarDemoViewModel: ObservableObject
{
Items = new()
{
new ToolBarButtonItemViewModel() { Content = "New" },
new ToolBarButtonItemViewModel() { Content = "New", OverflowMode = OverflowMode.AsNeeded},
new ToolBarButtonItemViewModel() { Content = "Open" },
new ToolBarButtonItemViewModel() { Content = "Save" },
new ToolBarCheckBoxItemViweModel() { Content = "Bold" },
new ToolBarCheckBoxItemViweModel() { Content = "Italic" },
new ToolBarCheckBoxItemViweModel() { Content = "Italic", OverflowMode = OverflowMode.Never},
new ToolBarComboBoxItemViewModel() { Content = "Font Size", Items = new (){ "10", "12", "14" } }
};
}
@@ -25,7 +25,7 @@ public partial class ToolBarDemoViewModel: ObservableObject
public abstract class ToolBarItemViewModel: ObservableObject
{
public OverflowMode OverflowMode { get; set; }
}
public class ToolBarButtonItemViewModel: ToolBarItemViewModel