如何在F#中创建包含图像和文本的按钮?

时间:2010-12-01 17:42:54

标签: silverlight button f#

我有一个按钮和一个图像如下:

let btnFoo = new Button()
let imgBar = new BitmapImage(new System.Uri("images/whatever.png", System.UriKind.RelativeOrAbsolute))

我希望按钮内容包含一些文字,以及图像。

我可以很好地完成这两件事中的任何一件,但他们同时没有把我的文字和图片都放在按钮上:

btnFoo.Content <- "Text"
btnFoo.Content <- imgBar

这些都不起作用:

btnFoo.Content <- "Text " + imgBar // compiler hates this
btnFoo.Content <- "Text ", imgBar // compiler is OK, but result is ugly since the image is rendered as the class text

我也无法将按钮的背景设置为图像:

btnFoo.Background <- imgBar // compiler doesn't like this because Background expects a Media.Brush

有什么想法/想法吗?谢谢!

2 个答案:

答案 0 :(得分:5)

您可以创建StackPanel并将您的图片与TextBlock一起添加为其子项。然后将此堆栈面板设置为按钮内容。您也可以选择其他Panel

答案 1 :(得分:3)

您需要创建一个面板(可能是一个方向=“水平”的StackPanel)。将按钮的内容设置为面板,然后将文本和图像添加到面板。