控件只能出现
一旦
在可视化树中,从数据绑定属性返回控件不是一个好主意。您最好在XAML标记中定义视觉控件。类似这样:
<ComboBox x:Name="comboBox" ItemsSource="{Binding OtherTasks}" >
<ComboBox.ItemTemplate>
<DataTemplate>
<DockPanel Margin="0" Height="30">
<ContentControl x:Shared="False" Content="{Binding}" Margin="0,4,0,0" Background="Yellow" Width="16" Height="16" Visibility="Visible">
<ContentControl.Style>
<Style TargetType="ContentControl">
<Style.Triggers>
<DataTrigger Binding="{Binding Text}" Value="Test Air">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<iconPacks:PackIconEntypo Kind="Air" />
</DataTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Text}" Value="Test Account">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<iconPacks:PackIconMaterial Kind="Account" />
</DataTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Text}" Value="Test AxisThree">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<iconPacks:PackIconModern Kind="AxisThree" />
</DataTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
<AccessText HorizontalAlignment="Stretch" Margin="3,4,0,0" Text="{Binding Path=Text}" TextAlignment="Left" Width="Auto" />
</DockPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>