wpf应用程序设置窗体背景图片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf应用程序设置窗体背景图片相关的知识,希望对你有一定的参考价值。

按照网上的教程,我先将图片添加到资源Resource.resx里,然后设置ImageBrush,吧啦吧啦……但是在debug时,报出异常,如图所示。
已试过在添加资源时将属性里的persistance设置为编译时链接或者嵌入resx,都是一样的报错,也试过重新创建一个工程保证从盘符开始的文件名都是英文,还是一样报错,求各路大侠帮忙,给出细致的回答~

参考技术A 直接右键添加啊,然后在格式那一栏里面设置为所以格式将图片添加进来,最后在代码去写上Image source=“sds111.jpg”就OK啦,我这里是假设图片的号码是sds111.jpg本回答被提问者采纳

WPF设计の不规则窗体

原文:WPF设计の不规则窗体

  我们在工作中,经常会需要画一些不规则的窗体,现在总结如下。

一、利用VisualBrush实现。这依赖于VisualBrush的特性,任何控件可以作为画刷,而画刷又可以作为背景。

        此种方法可以用于实现一些文字窗体等。(注意设置窗体的透明属性)

  例如:

<Window x:Class="IconFontTest.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:IconFontTest"
        mc:Ignorable="d" AllowsTransparency="True" WindowStyle="None"
        WindowStartupLocation="CenterScreen"
        Title="Window1" Height="400" Width="600">

    <Window.Background>
        <VisualBrush>
            <VisualBrush.Visual>
                <TextBlock>好好学习</TextBlock>
            </VisualBrush.Visual>
        </VisualBrush>
    </Window.Background>

</Window>

实现的效果:技术分享图片

二、使用透明背景的png图片实现。(当然注意设置透明属性)

<Window x:Class="WPFSharpWindow.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="412" Width="528" 
        AllowsTransparency="True" WindowStyle="None" OpacityMask="White" Background="Transparent">
    <Grid MouseLeftButtonDown="Grid_MouseLeftButtonDown">
        <Image Stretch="Fill" Source="/WPFSharpWindow;component/cow.png" />
    </Grid>
</Window>

三、利用windows的Clip。

         给window的Clip属性赋Path值。

在XAML中定义一个Path,如下:

<Path Visibility="Hidden" x:Name="clipPath"
          Data="M 55,100 A 50,50 0 1 1 100,60 A 110,95 0 0 1 200, 60 A 50,50 0 1 1 250,100 A 110,95 0 1 1 55,100 Z"/>
赋值:

window1.Clip = clipPath.Data;

当然也可以在前台赋值。

四、添加Border实现

以上的本质都是将窗体设置成透明然后添加不规则窗体。

以上是关于wpf应用程序设置窗体背景图片的主要内容,如果未能解决你的问题,请参考以下文章

WPF 透明窗体,无边框(比如一些桌面的日历桌面程序),如何让程序钉在桌面上。直接镶嵌在桌面背景上?

获取当前进程(程序)主窗体句柄并设置wpf的父窗体为此句柄

获取当前进程(程序)主窗体句柄并设置wpf的父窗体为此句柄

WPF 窗体阴影效果!!!

自定义WPF窗体形状

如何将窗体窗口的所有者设置为 WPF 窗口?