Программно установить содержимое кнопки WinRt для изображения

1

Для данного управления кнопками в Winrt я хочу динамически настроить его содержимое на изображение. Я бы подумал, что это будет очень просто:

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

Но это не так, вместо этого я получаю кнопку с надписью Windows.Ui.Xaml.Media.Imaging.BitmapImage написанной на нем.

Теги:
xaml
winrt-xaml

2 ответа

1
Лучший ответ

Необходимо установить его Content в <Image> и <Image> Source для BitmapImage

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

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

_btnPlayVideo.Content = i;
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";

Это единственный способ? Нет. Это самый простой способ? Да.

Лучшее из обоих слов: привязка и код.

Удачи!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню