我有以下代码
<ComboBox x:Name="hotelComboBox"
ItemsSource="{Binding HotelCollection}"
SelectedItem="{Binding ActiveHotel,Mode=TwoWay}"
Style="{StaticResource ComboBoxStyle}"
HorizontalAlignment="Center"
Visibility="{Binding IsFirstTimeUser, ConverterParameter=Inverse, Converter={StaticResource BooleanToVisibilityConverter}}">
<TextBlock Text="Select Something"
IsHitTestVisible="False">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility"
Value="Hidden" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=hotelComboBox,Path=SelectedItem}"
Value="{x:Null}">
<Setter Property="Visibility"
Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style></TextBlock>
</ComboBox>
当我添加TextBlock insode组合框时,我收到类似&#34的错误;在使用ItemsSource之前,Items集合必须为空。&#34;
如果我删除项目源绑定,我没有收到此错误。但我需要使用此项目源。任何选择?
由于
答案 0 :(得分:0)
您无法使用ItemsSource
,同时在XAML中定义自定义项目。
我想,你要找的东西是ItemTemplate
的{{1}}属性。
答案 1 :(得分:0)
原因是Items是任何ItemsControl的内容属性(例如ComboBox)。因此,当您在ComboBox中放置任何元素时,它会自动添加到Items集合中。在您的情况下,您需要执行以下操作之一: