以编程方式将WinRt按钮内容设置为图像

时间:2014-11-13 09:29:18

标签: c# xaml winrt-xaml

对于Winrt中的给定按钮控件,我想将其内容动态设置为图像。我原本以为这很简单:

 _subjectFilePoster = new BitmapImage();
 _subjectFilePoster.SetSource(t);
 _btnPlayVideo.Content = _subjectFilePoster;

但事实并非如此,而是在其上面写了一个类型为Windows.Ui.Xaml.Media.Imaging.BitmapImage的按钮。

2 个答案:

答案 0 :(得分:1)

需要将Content设置为<Image>,将<Image> Source设置为BitmapImage

_subjectFilePoster = new BitmapImage();
_subjectFilePoster.SetSource(t);

Image i = new Image();
i.Source = _subjectFilePoster;

_btnPlayVideo.Content = i;

答案 1 :(得分:0)

我是这样做的:

<Button x:Name="MyButton">
    <Image Source="{Binding}" />
</Button>

有了这个:

this.MyButton.DataContext = "http://server/image.png";

为什么会这样?因为您可以在底层XAML框架中使用本机类型转换器。这是最简单的方法。它确实有效。我一直都在使用这种技术。

你可以这样做:

<Button>
    <Image x:Name="MyImage" Source="{Binding}" />
</Button>

然后用这个:

this.MyImage.DataContext = "http://server/image.png";

这是唯一的方法吗?不,这是最简单的方法吗?是。

两个词中最好的:绑定和代码隐藏。

祝你好运!