Silverlight: прозрачное изображение на кнопке

Я хотел бы использовать прозрачный файл png на кнопке silverlight. Кроме того, я хотел бы, чтобы сама кнопка была прозрачной, чтобы виден был фон (за кнопкой). Я обнаружил, что если я устанавливаю непрозрачность кнопки, это также влияет на изображение. Я не хочу, чтобы все изображение было прозрачным - только прозрачные его части, как определено в PNG.

Есть идеи о том, как это можно сделать?


person Raj R    schedule 17.01.2009    source источник


Ответы (2)


Silverlight поддерживает прозрачность PNG. Это работает:

<UserControl x:Class="SilverlightApplication17.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Width="400" Height="300">
<Grid x:Name="LayoutRoot" Background="Green">
<Button Width="200" Height="200">
  <Button.Content>
    <Image Source="http://wildermuth.com/images/tx_head.png" />  
  </Button.Content>
</Button>

Вы должны увидеть, что изображение с обратной стороны кнопки прозрачно. Если вы хотите, чтобы кнопка была прозрачной, вам нужно создать шаблон кнопки, который будет прозрачным. Ссылка в ответе texmex5 - нисходящая.

person Shawn Wildermuth    schedule 18.01.2009

Из моих последующих исследований кажется, что не все прозрачные PNG будут работать. Они должны быть прозрачными на основе альфа-канала (а не на основе палитры). Они также должны быть не менее 16-битными изображениями. Стандартный 8-битный не работает.

person Raj R    schedule 25.02.2009