我有以下代码
<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>当我在组合框中添加项目集合时,我得到了类似“在使用ItemsSource之前项目集合必须为空”这样的错误。
如果我删除item Source绑定,我将无法获得此error.but,我需要使用此Item Source。有什么选择吗?
谢谢
发布于 2015-10-09 18:13:35
您不能同时使用ItemsSource和在XAML中定义自定义项。
我猜,你要找的东西是ComboBox的ItemTemplate属性。
发布于 2015-10-09 18:14:49
原因是Items是任何ItemsControl (如ComboBox)的content属性。因此,当您将任何元素放入ComboBox中时,它会自动添加到Items集合中。在您的情况下,您需要执行以下操作之一:
https://stackoverflow.com/questions/33035230
复制相似问题