c# wpf怎么在图片上加个label

c# wpf怎么在图片上加个label,第1张

添加一个Gird

Gird中添加一个label,位置你自己设;

Grid的Background设为该图片,ImageBrush,你自己查查吧;

至于margin随时变化,怎么个变法,你没说清,必要时可以后台代码 *** 作。

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

<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>

1.使用绝对坐标

<Canvas>

    <Label Content="..." Width="60" Height="25" Canvas.Left="50" Canvas.Top="50" />

</Canvas>

2.使用 Grid

<Grid>

    <Grid.ColumnDefinitions>

        <ColumnDefinition Width="50" />

        <ColumnDefinition />

    </Grid.ColumnDefinitions>

    <Grid.RowDefinitions>

        <RowDefinition Height="50" />

        <RowDefinition />

    </Grid.RowDefinitions>

    <Label Content="..." Width="60" Height="25" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Top" />

</Grid>

方法多多


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

原文地址: https://outofmemory.cn/bake/7905986.html

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

发表评论

登录后才能评论

评论列表(0条)

保存