在WPF图像控件上设置背景图像?

时间:2012-01-24 21:57:30

标签: c# wpf image background controls

我正在尝试在WPF中的图像控件上有背景图像,例如,如果我加载透明PNG,我仍然可以看到背景。是否可能,或者微软完全放弃了WPF的这个功能,我不得不依赖StackPanels / Grids /无论如何实现这一目标?

3 个答案:

答案 0 :(得分:13)

Image没有允许的属性,只需将Image放入Border并将Border.Background设置为ImageBrush

答案 1 :(得分:5)

不需要图像。将Window背景设置为图像,并将根元素背景设置为图像

<Window.Background>
    <ImageBrush ImageSource="BackgroundImage.png"/>
</Window.Background>

<Grid.Background>
    <ImageBrush ImageSource="ForegroundImage.png"/>    
</Grid.Background>

答案 2 :(得分:2)

如测试代码所示,将Window背景设置为图像画笔。注意允许透明度=“真实” WindowStyle =“无”以删除边框。

<Window x:Class="khaosInstallerWPF.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="616" Width="773" 
    ResizeMode="NoResize" Icon="images/khaos_Installer_UI.png" 
    AllowsTransparency="True" WindowStyle="None">
    <Window.Background>
        <ImageBrush ImageSource="images\khaos_Installer_UI.png"/>
    </Window.Background>
    <Grid Margin="0,0,0,0"></Grid>
</Window>

奖励:如果您使用的是形状,请确保您的表格可拖动

namespace khaosInstallerWPF
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            MouseDown += delegate { DragMove(); };
        }
    }
}