我想将图像直接包含在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;。在选择项目后,图像也会消失。
我很欣赏一些指导。
答案 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>
在单击组合框运行时完成后,您可以看到带图像的列表
希望这有帮助!