我有一些让我生气的 XAML 代码。首先是为未引用的值添加一个虚拟项目。
为此,我必须实现 aCollectionViewSource
和 a CompositeCollection
。现在我无法选择第一个组合框项目,它出现但我无法选择它,因为我设置了DisplayMemberPath
在 XAML 中设置了(我猜是这样)。此外,分隔符看起来不像预期的那样。
我来给你展示:
如果我不设置 XAML DisplayMemberPath
,我可以使用 Dummy Item 但绑定的项目显示不正确:
XAML:
<ComboBox x:Name="G_cb_content_zuordnung"
Margin="165,0,0,0"
Grid.Row="1"
SelectedIndex="0"
VerticalAlignment="Top"
DisplayMemberPath="PartnerID"
HorizontalAlignment="Left"
Width="119">
<ComboBox.Resources>
<CollectionViewSource x:Key="ComboCollection" Source="{Binding Path=mySelectedItem.Stammkinder}" />
</ComboBox.Resources>
<ComboBox.ItemsSource>
<CompositeCollection>
<ComboBoxItem Content="Ohne Stammnummer" Name="NoPID" />
<Separator />
<CollectionContainer Collection="{Binding Source={StaticResource ComboCollection}, Mode=OneWay}" />
</CompositeCollection>
</ComboBox.ItemsSource>
</ComboBox>
我所需要的只是一个虚拟/占位符组合框项目,它显示在ObservableCollection<myClass>
. 难道我的思维方式不对?有更聪明的解决方案吗?我在我的解决方案中遗漏了什么吗?