Windows phone 8.1 ComboBox样式图像

时间:2016-01-12 12:29:37

标签: c# templates combobox windows-phone-8.1 styles

我想将图像直接包含在ComboBox模板中。

我找到了代码的这一部分,我相信它就在这里,我会把它放在:

<Button x:Name="FlyoutButton" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" FontWeight="Normal" FlowDirection="{TemplateBinding FlowDirection}" FontSize="{ThemeResource ContentControlFontSize}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Left" MinHeight="{ThemeResource ComboBoxItemMinHeightThemeSize}" Padding="6.5,0,0,0" Grid.Row="1">
   <ContentPresenter x:Name="ContentPresenter" Margin="0,0.8,0,0" MinHeight="32.5">
       <TextBlock x:Name="PlaceholderTextBlock" Margin="0" Style="{StaticResource ComboBoxPlaceholderTextBlockStyle}" Text="{TemplateBinding PlaceholderText}"/>
   </ContentPresenter>
</Button>

我无法在contentPresenter中放置一张图片,因为它说我只能设置内容&#39;一次。

如果我做了类似的事情:

<ContentPresenter x:Name="ContentPresenter" Margin="0,0.8,0,0" MinHeight="32.5">
   <StackPanel Orientation="Horizontal">
       <TextBlock x:Name="PlaceholderTextBlock" Margin="0" Style="{StaticResource ComboBoxPlaceholderTextBlockStyle}" Text="{TemplateBinding PlaceholderText}"/>
       <Image Source="ms-appx:///Assets/Arrow.png" />
   </StackPanel>
</ContentPresenter>

它确实有效但我的XAML视图页面出错:&#34;未检测到已安装的组件。无法解析TargetName PlaceholderTextlock。&#34;。在选择项目后,图像也会消失。

我很欣赏一些指导。

1 个答案:

答案 0 :(得分:0)

我相信你想要在组合框中设置项目以使图像具有文本块。在这种情况下,您需要像这样设置组合框的ItemTemplate

<ComboBox Name="hik" ItemTemplate="{StaticResource cmbx}">

在您的页面资源中,您可以为这样的组合框项目定义项目模板

<DataTemplate x:Key="cmbx">
    <StackPanel Orientation="Horizontal" Background="Aqua">
        <TextBlock HorizontalAlignment="Left" Margin="0,0,0,0" Foreground="Black"  TextWrapping="Wrap" Text="Some Text" VerticalAlignment="Top"/>
        <Image Source="/Assets/1.png" Stretch="Uniform" Height="100" Width="100" />
    </StackPanel>
</DataTemplate>

在单击组合框运行时完成后,您可以看到带图像的列表

enter image description here

希望这有帮助!