Я пытаюсь включить изображение окружной печати в свой WPF Window
и привязать источник к свойству BitmapImage
, но изображение вообще не отображается. Я также хочу нажать на печать и использовать событие LeftMouseButtonDown
, чтобы изменить первое изображение на семь других изображений с задержкой в две секунды между каждым изменением.
Я опробовал приемы, описанные в [этом сообщении StackOverflow] ( Как связать источник изображения? , но я все еще не могу получить первое изображение для отображения).
Определение изображения в MainWindow.xaml:
<Image x:Name="imag_CountySeal" Margin="0,60,0,80" Grid.Row="0"
Grid.Column="0"
Source="{Binding ImageSource, UpdateSourceTrigger=PropertyChanged,Mode=OneWay}"
MouseLeftButtonDown="Mouse_Down_Seal"
Width="165" Height="165" Visibility="Visible" />
Определение класса со свойством ImageSource
и событиями PropertyChanged
:
public class CountySeals : INotifyPropertyChanged
{
private BitmapImage _ImageSource;
public BitmapImage ImageSource
{
get { return _ImageSource; }
set
{
_ImageSource = value;
OnPropertyChanged(new PropertyChangedEventArgs("ImageSource"));
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(PropertyChangedEventArgs e)
{
if (PropertyChanged != null)
{
PropertyChanged(this, e);
}
}
}
Логика в начале MainWindow.xaml.cs
для установки ImageSource
для первого изображения:
public partial class MainWindow : Window
{
CountySeals seals;
public MainWindow()
{
InitializeComponent();
seals = new CountySeals();
seals.ImageSource = new BitmapImage(new Uri(@"C:\Users\billw\Documents\Visual Studio 2015\Projects\Images\seal_l transparent.png", UriKind.Absolute));
SizeChanged += new SizeChangedEventHandler(Window_SizeChanged);
StateChanged += new EventHandler(Window_StateChanged);
LocationChanged += new EventHandler(Window_LocationChanged);
Mouse_Down_Seal
код в MainWindow.xaml.cs
:
private void Mouse_Down_Seal(object sender, MouseButtonEventArgs e)
{
seals.ImageSource = new BitmapImage(new Uri(@"C:\Users\billw\Documents\Visual Studio 2015\Projects\Images\seal_2 transparent.png", UriKind.Absolute));
Thread.Sleep(2000);
seals.ImageSource = new BitmapImage(new Uri(@"C:\Users\billw\Documents\Visual Studio 2015\Projects\Images\seal_3 transparent.png", UriKind.Absolute));
Thread.Sleep(2000);
seals.ImageSource = new BitmapImage(new Uri(@"C:\Users\billw\Documents\Visual Studio 2015\Projects\Images\seal_4 transparent.png", UriKind.Absolute));
Thread.Sleep(2000);
seals.ImageSource = new BitmapImage(new Uri(@"C:\Users\billw\Documents\Visual Studio 2015\Projects\Images\seal_5 transparent.png", UriKind.Absolute));
Thread.Sleep(2000);
seals.ImageSource = new BitmapImage(new Uri(@"C:\Users\billw\Documents\Visual Studio 2015\Projects\Images\seal_6 transparent.png", UriKind.Absolute));
Thread.Sleep(2000);
seals.ImageSource = new BitmapImage(new Uri(@"C:\Users\billw\Documents\Visual Studio 2015\Projects\Images\seal_7 transparent.png", UriKind.Absolute));
Thread.Sleep(2000);
seals.ImageSource = new BitmapImage(new Uri(@"C:\Users\billw\Documents\Visual Studio 2015\Projects\Images\seal_8 transparent.png", UriKind.Absolute));
}
Как я могу подключить Binding
для ImageSource
?