Вот что я хотел бы сделать.
Создайте класс CriteriaService
, используя этот шаблон: -
public CriteriaService : INotifyPropertyChanged
{
private DateTime myStartDate;
public DateTime StartDate
{
get { return myStartDate; }
set { myStartDate = value; //Notify property changed }
}
// Other criteria properties here
//INotifyPropertyChanged implemenation
}
Теперь добавьте экземпляр этого сервиса в App.Xaml.cs: -
<local:CriteriaService x:Key="CritreaService" />
На главной странице вы делаете что-то вроде этого: -
<Grid x:Name="LayoutRoot" DataContext="{StaticResource CriteriaService}">
, чтобы вы могли использовать простые привязки, такие как SelectedDate="{Binding StartDate}"
, в элементах управления критериями.
Теперь на ваших разных страницах у вас есть выбор.В коде вы можете получить доступ к CriteriaService
как: -
CriteriaService criteria = App.Resources["CriteriaServices"] as CriteriaService;
Или, если вы хотите привязать значения из него на своей странице xaml, вы можете использовать что-то вроде: -
<local:SomeStrangeControl StartDate="{Binding StartDate Source={StaticResource CriteriService}}" />