Merge pull request #749 from Samuel-B-D/fix-multicombobox-items-in-axaml

Fix MultiComboBox to works with items added in axaml
This commit is contained in:
Dong Bin
2025-08-29 01:30:52 +08:00
committed by GitHub
5 changed files with 107 additions and 29 deletions

View File

@@ -11,37 +11,56 @@
x:CompileBindings="True"
x:DataType="vm:MultiComboBoxDemoViewModel"
mc:Ignorable="d">
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical">
<TextBlock>Binded ItemsSource</TextBlock>
<StackPanel Orientation="Horizontal">
<u:MultiComboBox
Watermark="Please Select"
Width="300"
MaxHeight="200"
SelectedItems="{Binding SelectedItems}"
ItemsSource="{Binding Items}" >
</u:MultiComboBox>
<u:MultiComboBox
Name="combo"
Watermark="Please Select"
Width="300"
InnerLeftContent="Left"
InnerRightContent="Right"
Classes="ClearButton"
MaxHeight="200"
SelectedItems="{Binding SelectedItems}"
ItemsSource="{Binding Items}" >
<u:MultiComboBox.PopupInnerTopContent>
<StackPanel Margin="0" Orientation="Horizontal">
<Button Theme="{DynamicResource BorderlessButton}" Content="Select All" Command="{Binding SelectAllCommand}"/>
<Button Theme="{DynamicResource BorderlessButton}" Content="Unselect All" Command="{Binding ClearAllCommand}"/>
<Button Theme="{DynamicResource BorderlessButton}" Content="Inverse" Command="{Binding InvertSelectionCommand}"/>
</StackPanel>
</u:MultiComboBox.PopupInnerTopContent>
<u:MultiComboBox.ContextFlyout>
<MenuFlyout>
<MenuItem Header="Select All" Command="{Binding SelectAllCommand}"/>
</MenuFlyout>
</u:MultiComboBox.ContextFlyout>
</u:MultiComboBox>
<ListBox ItemsSource="{Binding SelectedItems}" />
</StackPanel>
<Separator Margin="0 20" />
<TextBlock>Items inside axaml (u:MultiComboBox's tag content)</TextBlock>
<u:MultiComboBox
Watermark="Please Select"
Width="300"
MaxHeight="200"
SelectedItems="{Binding SelectedItems}"
ItemsSource="{Binding Items}" >
MaxHeight="200">
<u:MultiComboBoxItem>option 1</u:MultiComboBoxItem>
<u:MultiComboBoxItem>option 2</u:MultiComboBoxItem>
<u:MultiComboBoxItem>option 3</u:MultiComboBoxItem>
<u:MultiComboBoxItem><Button>option 4</Button></u:MultiComboBoxItem>
<Button>option 5</Button>
</u:MultiComboBox>
<u:MultiComboBox
Name="combo"
Watermark="Please Select"
Width="300"
InnerLeftContent="Left"
InnerRightContent="Right"
Classes="ClearButton"
MaxHeight="200"
SelectedItems="{Binding SelectedItems}"
ItemsSource="{Binding Items}" >
<u:MultiComboBox.PopupInnerTopContent>
<StackPanel Margin="0" Orientation="Horizontal">
<Button Theme="{DynamicResource BorderlessButton}" Content="Select All" Command="{Binding SelectAllCommand}"/>
<Button Theme="{DynamicResource BorderlessButton}" Content="Unselect All" Command="{Binding ClearAllCommand}"/>
<Button Theme="{DynamicResource BorderlessButton}" Content="Inverse" Command="{Binding InvertSelectionCommand}"/>
</StackPanel>
</u:MultiComboBox.PopupInnerTopContent>
<u:MultiComboBox.ContextFlyout>
<MenuFlyout>
<MenuItem Header="Select All" Command="{Binding SelectAllCommand}"/>
</MenuFlyout>
</u:MultiComboBox.ContextFlyout>
</u:MultiComboBox>
<ListBox ItemsSource="{Binding SelectedItems}" />
</StackPanel>
</UserControl>