ここで私はやる気があります。
このパターンを使用して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}">
のような単純なバインディングを使用できますあなたの基準コントロールの。
ここでは、さまざまなページに選択肢があります。コードでは、アクセスすることができCriteriaService
として: -
CriteriaService criteria = App.Resources["CriteriaServices"] as CriteriaService;
それとも、あなたのページのXAMLで、それからの値にバインドしたい場合は、のようなものを使用することができます - 私はいくつかの問題を持っていた
<local:SomeStrangeControl StartDate="{Binding StartDate Source={StaticResource CriteriService}}" />
を静的リソース(あなたのせいではなく、私はちょうどRIAサービスによって部分的に生成されたコードを使用しています)が、それ以外はうまくいくようです! :)ありがとう! – Shaamaan
私はこれに関するもう1つ質問があります(私はあなたがこれを読むことを望みます)。 2つの 'DateTimePicker'コントロールを' CriteriaService'の 'DateTime'フィールドにバインドしました。 1つは「開始日」を表し、もう1つは「終了日」を表すため、終了が開始より「早い」ことを確認する必要があります。セッターを使用するのは簡単で、値は正しく設定されていますが、実際のSLのDateTimePickerコントロールでは古い選択が表示されます。私は 'DisplayDate'にもバインドしましたが、それはまだ同じです。私は何が欠けていますか? – Shaamaan