【问题标题】:Set stretch/height/width property for a generic custom button为通用自定义按钮设置拉伸/高度/宽度属性
【发布时间】:2017-11-16 20:07:04
【问题描述】:

我正在使用不是我的程序集的自定义通用按钮。在我的 xaml 中,我将 xml 命名空间设置为:

xmlns:styleBtn="clr-namespace:Utils.XAML.ButtonsStyle;assembly=Utils.XAML"

然后在 xaml 中我使用它如下:

<styleBtn:GenericButton x:Name="btnSearch" Height="28" Width="100" ImgButton="/PathToResource/Search.png" 
                        TextButton="Search"
                        Click="btnSearch_Click"/>

如上所示,此自定义通用按钮具有一些自定义属性,例如 ImgButton、TextButton 等。

我的问题是当我设置一个大于按钮大小的图像时(高度=28,宽度=100),在这种情况下,我无法设置通过 ImgButton 属性传递的图像的高度/宽度,所以图片不能正确地放入按钮中。

那么有没有办法在外部设置图像的大小?当然,我总是可以使用另一个较小的图像,但是出于好奇,是否可以设置传递的图像的大小?

【问题讨论】:

  • ImgButton 属性的类型是什么?
  • @EdPlunkett 这是 Image.source
  • 你的意思是ImageSource
  • @EdPlunkett 不,创建 对象并设置 de 属性 Source 时也是如此。它与 Source 类型相同。如果我改为设置按钮的背景?我试图通过从资源 ImageBrush 分配背景属性来设置背景,但它不起作用。
  • 您可以尝试检查哪个特定元素 (Image) 在 GenericButton 中保存图像,并将该元素的样式放置在您设置大小的 GenericButton.Resources 中。

标签: c# wpf xaml button visual-studio-2008


【解决方案1】:

您可以在Style 中设置GenericButton 的内部Image 的所需属性放在GenericButton.Resources 中:

<GenericButton.Resources>
    <Style TargetType="{x:Type Image}">
        <Setter Property="Height" Value="..."/>
        <Setter Property="Width" Value="..."/>
    </Style>
</GenericButton.Resources>

【讨论】:

    猜你喜欢
    • 2014-03-06
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    • 2011-07-29
    相关资源
    最近更新 更多