我想在Windows Phone 8.1应用程序中改进Combobox项目的布局。默认情况下,组合框项目将是这样的:
我想为每个项目设置一个图标和背景,这取决于插入的对象的属性(如果没有问题可能是绿色,如果不是,则为橙色,出现错误时为红色) 。我能怎么做 ?所以我想要这样的东西,其中蓝色背景也将针对特定情况设置(前面的例子应该清楚)。
答案 0 :(得分:1)
您可以通过为ComboBox项使用DataTemplate来实现这一点。您可能必须使用转换器作为背景颜色。
<ComboBox ItemsSource="{Binding ListOfProperties}" SelectedValuePath="Id">
<ComboBox.ItemTemplate>
<DataTemplate>
<Grid Background="{Binding ColorName, Converter={StaticResource StringToBrushConverter}">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="{Binding ImageUrl}"/> // "ms-appx:///Assets/image.png" for example
<TextBlock Grid.Column="1" Text="{Binding Text}"/>
</Grid>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>