wpf 怎么为label 添加 图标?

wpf 怎么为label 添加 图标?,第1张

直接定义在控件中,如下:

<Label Width="200" Height="100">

<Label.Content>

<DockPanel>

<Image Source="logo.png" Width="20" Height="20" DockPanel.Dock="Left"/>

<TextBlock Text="33333333333" DockPanel.Dock="Right" />

</DockPanel>

</Label.Content>

</Label>

在样式中定义如下:

<Style x:Key="LabelStyle1" TargetType="{x:Type Label}">

            <Setter Property="Template">

                <Setter.Value>

                    <ControlTemplate TargetType="{x:Type Label}">

                        <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">

                            <DockPanel>

                                <Image Source="logo.png" Width="20" Height="20" DockPanel.Dock="Left"/>

                                <ContentPresenter DockPanel.Dock="Right" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>

                            </DockPanel>

                           </Border>

                        <ControlTemplate.Triggers>

                            <Trigger Property="IsEnabled" Value="false">

                                <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>

                            </Trigger>

                        </ControlTemplate.Triggers>

                    </ControlTemplate>

                </Setter.Value>

            </Setter>

        </Style>

直接修改treeviewitem的Template就可以了。

<TreeView>

<TreeViewItem>

<TreeViewItem.ItemTemplate>

<HierarchicalDataTemplate>

<StackPanel Orientation="Horizontal">

<Image Width="30" Height="30" Margin="5"/>

<TextBlock Text="{Binding xxx}"/>

</StackPanel>

</HierarchicalDataTemplate>

</TreeViewItem.ItemTemplate>

</TreeViewItem>

</TreeView>

image用来显示图标 textblock用来显示内容

最简单的做法就是编辑headtemplate

<TreeViewItem.HeaderTemplate>

<DataTemplate>

<StackPanel Orientation="Horizontal">

<Image Width="25" Height="25" Source="xxx.jpg" />

<TextBlock Text="{Binding}"/>

</StackPanel>

</DataTemplate>

</TreeViewItem.HeaderTemplate>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7918848.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存