【问题标题】:Telerik, RadSplitButton ignores BackgroundImage propertyTelerik,RadSplitButton 忽略 BackgroundImage 属性
【发布时间】:2014-09-16 13:05:37
【问题描述】:

我需要在 RadSplitButton 中将平铺图像显示为 BackgroundImage,但是当我设置 BackgroundImage 属性时,它会被控件忽略

另一方面,Image 属性正常工作,但我需要设置BackgroundImage 属性。

为什么默认忽略此属性,以及如何解决?

【问题讨论】:

  • 为了显示按钮背景图像,您必须隐藏其填充。我只找到了这个telerik.com/forums/…
  • @FeliceM 谢谢,但是这样做按钮会丢失应用的主题:(
  • 为什么不简单地设置图片而不是背景图片?
  • 因为背景图像的缩放、平铺、拉伸和其他属性。
  • 事实上,要查看背景图像,您必须为顶层提供一些透明度,这就是您放弃主题的原因。因此,在将其用作控件的图像之前,请先整理图像尺寸,并使用“Image”而不是 backgroundImage。祝你好运!

标签: c# .net vb.net winforms telerik


【解决方案1】:

RadSplitButton 实际上由三个不同的元素构成 - 操作按钮、分隔符和箭头按钮。这些元素中的每一个都由其他元素(填充、边框等)构成。套件中的所有控件均使用Telerik Presenation Framework 构建,并由多个元素组成,以提供更大的灵活性。例如,通过这种方式,您可以为不同的元素设置不同的图像/颜色 - 操作部分和按钮的箭头部分。

在这种情况下,BackgroundImage 被绘制在控件上,但是,元素的填充被绘制在它上面,因此它是不可见的。以下是如何隐藏填充以查看 BackgroundImage

radSplitButton1.DropDownButtonElement.ActionButton.ButtonFillElement.Visibility = ElementVisibility.Collapsed;
radSplitButton1.DropDownButtonElement.ArrowButton.Fill.Visibility = ElementVisibility.Collapsed;
radSplitButton1.DropDownButtonElement.ButtonSeparator.DrawBorder = false;

我知道你也想看看这个主题。但是,这是不可能的,因为您无法同时看到图像和填充,就像您看到填充一样,图像被隐藏了。也许您可以使用 MouseEnter 和 MouseLeave 事件来应用不同的图像进行悬停?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-19
    • 2018-12-11
    • 2023-03-19
    相关资源
    最近更新 更多