|
using System;
using System.Collections.Generic;
using SilverlightCairngorm;
using SilverlightCairngorm.Model;
using System.Windows.Media.Imaging;
namespace SilverlightCairngormDemo.Model
{
public class SilverPhotoModel : ModelLocator
{
private static readonly SilverPhotoModel _instance = new SilverPhotoModel();
/// <summary>
/// Returns the single instance of the app model
/// </summary>
/// <returns>single instance of the app model</returns>
public static SilverPhotoModel Instance { get { return _instance; } }
// Explicit static constructor to tell C# compiler
// not to mark type as beforefieldinit
static SilverPhotoModel()
{
}
/// <summary>
/// Private constructor for singeltom object
/// </summary>
private SilverPhotoModel() : base()
{
}
private List<FlickRPhoto> _photoList = new List<FlickRPhoto>();
/// <summary>
/// Data model for search result data binding
/// </summary>
public List<FlickRPhoto> PhotoList
{
get { return _photoList; }
set
{
_photoList = value;
NotifyPropertyChanged("PhotoList");
}
}
private int _selectedIdx = -1;
/// <summary>
/// Data model for selected photo index
/// </summary>
public int SelectedIdx
{
get
{
return _selectedIdx;
}
set
{
_selectedIdx = value;
NotifyPropertyChanged("SelectedPhotoSource");
NotifyPropertyChanged("SelectedIdx");
}
}
/// <summary>
/// Read-only property for image displaying
/// </summary>
public string SelectedPhotoSource
{
get
{
return (_selectedIdx < 0 || PhotoList.Count < 2) ? "" : PhotoList[_selectedIdx].ImageUrl;
}
}
private string _searchTerm = "Cairngorm";
/// <summary>
/// Data model for search term
/// </summary>
public string SearchTerm
{
get { return _searchTerm; }
set { _searchTerm = value; /*NotifyPropertyChanged("SearchTerm");*/ }
}
private bool _readySearchAgain = true;
/// <summary>
/// to prevent search again before previous search returns
/// </summary>
public bool ReadySearchAgain
{
get { return _readySearchAgain; }
set { _readySearchAgain = value; NotifyPropertyChanged("ReadySearchAgain"); }
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.