このプロパティを依存関係プロパティに変換するにはどうすればよいですか?それに関して、誰もが「依存関係プロパティでロジックを使用しないでください」と言って、そのための救済策を提案しませんでした:
public DateTime? SelectedDateGeorgian
{
get
{
//choose a control based on this "user control" current mode
//and return its value
}
set
{
//choose a control based on this "user control" current mode
// and set its property after some manipulations on the value
}
}
私はそれをこれに変換したい:
public static readonly DependencyProperty SelectedDateGeorgianProperty =
DependencyProperty.Register("SelectedDateGeorgian", typeof(DateTime?), typeof(MyDatePicker), new PropertyMetadata(default(DateTime?)));
public DateTime? SelectedDateGeorgian
{
get
{
//Its prohobited to do something here ! So what should I do ?
//How should I select a control and return its value here ?
//I can't have a simple backing variable because I should do some conversion here
return (DateTime?)GetValue(SelectedDateGeorgianProperty);
}
set
{
//I want to convert received value here and
// and after that update some UI properties in this user control
SetValue(SelectedDateMiladiProperty, value);
}
}
この依存関係プロパティに書き込まれる値を変換し、UIElementsも更新したいと思います。
また、UIElementから値を変換し、読み取られるたびに変換された値を返したいと思います。
だから、私は単純なバッキング変数を持つことができないことがわかります。
誰かがこれを実装するためのパターンを教えてください。
ご清聴ありがとうございました。