Je suis assez nouveau pour WPF et je pourrais vraiment le faire avec de l'aide. Est-il possible de lier un objet ImageAwesome
(Font-Awesome) à partir d'une propriété ViewModel? En l'état, mon ViewModel à l'instanciation crée un objet ImageAwesome
qui est ensuite accessible à l'aide de la propriété SpinIcon
.Lier un objet ImageAwesome dans WPF à partir d'une propriété ViewModel
ViewModel
public class DefaultPageViewModel : BaseViewModel
{
private ImageAwesome _spinIcon;
public DefaultPageViewModel()
{
_spinIcon = new ImageAwesome();
_spinIcon.Icon = FontAwesomeIcon.Spinner;
_spinIcon.Height = 10;
}
public ImageAwesome SpinIcon {
get
{
return _spinIcon;
}
set
{
if(value != _spinIcon)
{
_spinIcon = value;
OnPropertyChanged("SpinIcon");
}
}
}
}
je peux lier les propriétés individuelles de SpinIcon
comme indiqué ci-dessous, mais cela causerait de beaucoup de duplication de code qui j'essaie d'éviter.
UserControl
<UserControl.Resources>
<default:DefaultPageViewModel x:Key="DefaultVM" />
<SolidColorBrush x:Key="ImageBrush" Color="LightBlue" />
</UserControl.Resources>
<Grid>
<fa:ImageAwesome Icon="{Binding SpinIcon.Icon, Source={StaticResource DefaultVM}}" />
</Grid>
</UserControl>
Toute aide serait grandement appréciée.
Je ne savais pas qu'on pouvait faire ça! Fonctionne très bien merci! – Kitson88