feat: introduce IsSelectable for TreeComboBox.

This commit is contained in:
rabbitism
2024-09-11 01:32:11 +08:00
parent eb72a717c3
commit 1661026cdc
5 changed files with 21 additions and 3 deletions

View File

@@ -52,6 +52,11 @@
PopupInnerTopContent="Top"
PopupInnerBottomContent="Bottom"
ItemsSource="{Binding Items}">
<u:TreeComboBox.Styles>
<Style Selector="u|TreeComboBoxItem" x:DataType="vm:TreeComboBoxItemViewModel">
<Setter Property="IsSelectable" Value="{Binding IsSelectable}"/>
</Style>
</u:TreeComboBox.Styles>
<u:TreeComboBox.ItemTemplate>
<TreeDataTemplate ItemsSource="{Binding Children}">
<TextBlock Text="{Binding ItemName}" />

View File

@@ -19,7 +19,8 @@ public partial class TreeComboBoxDemoViewModel: ObservableObject
{
new TreeComboBoxItemViewModel()
{
ItemName = "Item 1-1",
ItemName = "Item 1-1 (Not selectable)",
IsSelectable = false,
Children = new List<TreeComboBoxItemViewModel>()
{
new TreeComboBoxItemViewModel()
@@ -45,7 +46,8 @@ public partial class TreeComboBoxDemoViewModel: ObservableObject
{
new TreeComboBoxItemViewModel()
{
ItemName = "Item 2-1"
ItemName = "Item 2-1 (Not selectable)",
IsSelectable = false,
},
new TreeComboBoxItemViewModel()
{
@@ -64,5 +66,6 @@ public partial class TreeComboBoxDemoViewModel: ObservableObject
public partial class TreeComboBoxItemViewModel : ObservableObject
{
[ObservableProperty] private string? _itemName;
[ObservableProperty] private bool _isSelectable = true;
public List<TreeComboBoxItemViewModel> Children { get; set; } = new ();
}