2016-04-05 2 views
0

Я испытываю интересное явление в своем приложении WPF.Изображения в приложении WPF исчезают после прохода

У меня есть два разных вида просмотра - один, который позволяет редактировать статистику, и позволяет редактировать шаблоны. На обоих этих представлениях у меня есть панель навигации, которая позволяет пользователю перемещаться вперед и назад по результатам поиска, и я использую кнопки с изображением для Back/Next UI. Если я перехожу через статистику, а затем через шаблоны, изображения отображаются хорошо; однако, если я вернусь к статистике, изображения больше не появятся, но кнопки и навигация будут работать. Если я вернусь к шаблонам, изображения все еще там. Если я сначала делаю шаблоны, затем статистику и обратно к шаблонам, сохраняется тот же порядок поведения - статистика сохраняет изображения. Так что это похоже на порядок, а не на взгляды.

У меня есть изображения, добавленные в мой проект, и у меня есть Build Action для Resource. Я их ссылки в моем ResourceDictionary так:

<Image x:Key="ico_Right" Source="/GOKOMS.Home;component/Images/nav_single_right.png" /> 

В самом моей точке зрения, я в качестве ссылки

<Button Content="{StaticResource ico_Right}" Width="35" Height="35" 
     Visibility="{Binding Vis_Next, UpdateSourceTrigger=PropertyChanged}" 
     ToolTip="Next Record" 
     Command="{Binding NavCommand}" 
     CommandParameter="Next" 
     /> 

Я знаю, что это не связывание как кнопка сами появляется; Я даже удалил это, чтобы быть уверенным. Похоже, что это соответствующий код, но при необходимости я могу добавить больше. Кто-нибудь испытал что-то подобное раньше?

+0

Являются ли кнопки видимыми, но у них нет контента? –

+0

Правильный - видимый, но без содержания. – bassrek

ответ

2

Это потому, что ваш ресурс управления изображения может быть присоединен только к одному месту в визуальном дереве, и вы пытаетесь прикрепить его к 2-х различным элементам кнопки (на разных представлениях)

Вы можете попробовать реструктуризации своих взгляды так что существует только один экземпляр меню навигации, или вы можете создать несколько ресурсов изображения, или вы могли бы использовать BitmapImage ресурс вместо:

ресурс:

<BitmapImage x:Key="ico_Right" UriSource="/GOKOMS.Home;component/Images/nav_single_right.png" /> 

Кнопка:

<Button Width="35" Height="35" 
     Visibility="{Binding Vis_Next, UpdateSourceTrigger=PropertyChanged}" 
     ToolTip="Next Record" 
     Command="{Binding NavCommand}" 
     CommandParameter="Next"> 
    <Image Source="{StaticResource ico_Right}" /> 
</Button> 
+0

Идеально - я не знал об этом факте об управлении изображением. Я пошел с вашим предложением BitmapImage, и он работает. Только две незначительные вещи: атрибут Content должен быть удален из элемента управления Button, а элементу управления Image не требуется атрибут x: Key. Но кроме этого он отлично работает. – bassrek

+0

@bassrek Спасибо, я просто писал код в голове –

+0

Нет проблем - я предположил, что это так, и просто хотел указать на то, что кто-то другой будет иметь такую ​​же проблему в будущем. – bassrek

Смежные вопросы