は、私たちが依存関係プロパティを持つコントロールがあるとします。WPF
public class MyControl : ContentControl
{
static MyControl()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(MyControl), new FrameworkPropertyMetadata(typeof(MyControl)));
}
void DoSomething(object sender, RoutedEventArgs e)
{
//...
}
public MyControl()
{
this.Loaded += DoSomething;
}
public static readonly DependencyProperty ValueProperty = DependencyProperty.Register(
"Value", typeof(string), typeof(MyControl),
new FrameworkPropertyMetadata(default(string),
FrameworkPropertyMetadataOptions.BindsTwoWayByDefault | FrameworkPropertyMetadataOptions.Journal, OnValueChanged));
private static void OnValueChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
//some actions
}
public string Value
{
get { return (string)GetValue(MyControl.ValueProperty); }
set { SetValue(MyControl.ValueProperty, value); }
}}
そしてどこかにXAMLで我々はいくつかのビューモデルのいくつかのプロパティヴァルにValuePropertyをバインドします。
私の質問は、Loadedイベントが発生した瞬間、MyControl.Valueの値はValの値に既に設定されているかどうかです。だから、MyControlがロードされたときに実行されるDoSomethingメソッドでValを使うことができますか?
ありがとうございました。
それを試してみるのは簡単でしょうか? ;) –
私は試してみましたが、何が間違っているのではなく、場合によっては機能しています(値が設定されています)、そうでないもの、依存しているものを理解できない、私は定義された振る舞いがあるかどうか、それがどのようなものなのかを尋ねることにしました。 –
私はちょうど尋ねています、私は一日をこのことを理解してデバッグすることを試みました。 –