wpf 怎么为label 添加 图标?
直接定义在控件中,如下:
<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>
为什么在设计器里面可以看到 但一运行就看不到了
你的图片资源属性没有配置正确。
在图片资源属性中配置
Build Aciton和Copy to Output Directory;
前者你配置成Content,后者配置为Copy always 或者 Copy if newer;
这样会在编译后的输出多一张图片。
当然你也可以将图片作为资源编译到exe中。