Точно, так как вы не можете привязать к ImageBrush, вот обходной путь:
<Rectangle Width="100"
Height="100"
Fill="{StaticResource PhoneForegroundBrush}"
OpacityMask="{Binding IconSource, Converter={StaticResource ImageToOpacityMaskValueConverter}}" />
Использование следующего конвертера:
public class ImageToOpacityMaskValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is Uri)
{
var image = new BitmapImage((Uri)value);
if (image != null)
{
var imageBrush = new ImageBrush()
{
ImageSource = image
};
return imageBrush;
}
}
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Тем не менее, я бы рекомендовал использовать векторную графику (т.е. рисунок) вместо изображения.