Если я использую этот код:StaticResource Binding не работает, как ImageSource
<btn:Button ButtonImage="{Binding Path=BtnImage, FallbackValue=../Images/Search.png}"/>
моя кнопка имеет изображение по умолчанию, если BtnImage не установлен. Когда я пытаюсь изменить его на:
<UserControl.Resources>
<ImageSource x:Key="DefaultImage">
../Images/Search.png
</ImageSource>
</UserControl.Resources>
...
<btn:Button ButtonImage="{Binding Path=BtnImage, FallbackValue={StaticResource DefaultImage}}"/>
Мое изображение по умолчанию не отображается. Я хочу понять, почему и как я могу это исправить, потому что я поклонник этого подхода StaticResource.
Edit:
Мой используется кнопка является фиктивной один:
<UserControl x:Class="WPF_Controls.Controls.Button"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Name="Btn">
<Button DataContext="{Binding ElementName=Btn}"
Command="{Binding Path=ButtonCommand}">
<Image Source="{Binding Path=ButtonImage}" />
</Button>
</UserControl>
Решение: Если я использую:
<UserControl.Resources>
<system:String x:Key="DefaultImage">pack://application:,,,/DK_WPF_Controls;component/Images/Search.png</system:String>
</UserControl.Resources>
все работает, как и ожидалось!
Может быть, проблема не ваша fallbackvalue ... Вы уверены, отметить, устанавливается на фактическое значение обязательного 'BtnImage'? Если что-то установлено, ваше значение fallbackvalue не будет использоваться –