wpf按钮背景图像

kar*_*arn 3 wpf

我有一个带5个按钮的wpf页面.所有5个按钮必须具有相同的大小,并且所有按钮必须具有相同的背景图像.这该怎么做?

问候,卡恩

Ian*_*ths 7

使用样式.这将自动应用于窗口中的所有按钮:

<Window.Resources>
    <Style TargetType="Button">
        <Setter Property="Width" Value="100" />
        <Setter Property="Height" Value="100" />
        <Setter Property="Background">
            <Setter.Value>
                <ImageBrush ImageSource="ButtonBg.png" />
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)

这将为所有按钮设置默认宽度,高度和背景.它假设您有一个名为ButtonBg.png的位图编译到您的项目中 - 这是背景图像.

如果您只想将此样式仅应用于某些按钮,则可以修改第一行:

<Style x:Key="imgBtnStyle" TargetType="Button">
Run Code Online (Sandbox Code Playgroud)

然后,您要应用此样式的按钮需要引用该样式:

<Button Style="{StaticResource imgBtnStyle}" ... />
Run Code Online (Sandbox Code Playgroud)

请注意,在Visual Studio 2010中将图像拖动到设计图面上时,它会为您设置宽度和高度.这将覆盖样式.您需要从按钮元素本身中删除宽度和高度,以使样式能够控制这些属性.