wpf: Dependency 属性 如何相互通信
wpf: How does Dependency Property Communicate with each other
依赖属性如何相互通信。
我在一个 class
中有两个依赖项 属性
public bool SaveToStream
{
get { return (bool)GetValue(SaveToStreamProperty); }
set { SetValue(SaveToStreamProperty, value); }
}
// Using a DependencyProperty as the backing store for SaveToStream. This enables animation, styling, binding, etc...
public static readonly DependencyProperty SaveToStreamProperty =
DependencyProperty.Register("SaveToStream", typeof(bool), typeof(PdfViewerControlHelper), new PropertyMetadata(OnSaveToStreamChanged));
private static void OnSaveToStreamChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
//how to i populate the contents of the ExtractedData here.
}
public ObservableCollection<DataItem> ExtractedData
{
get { return (ObservableCollection<DataItem>)GetValue(ExtractedDataProperty); }
set { SetValue(ExtractedDataProperty, value); }
}
// Using a DependencyProperty as the backing store for ExtractedData. This enables animation, styling, binding, etc...
public static readonly DependencyProperty ExtractedDataProperty =
DependencyProperty.Register("ExtractedData", typeof(ObservableCollection<DataItem>), typeof(PdfViewerControlHelper),
new FrameworkPropertyMetadata(new ObservableCollection<DataItem>(), FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, null));
我有两个依赖项属性。
SaveToStream 是一个布尔值,ExtractedData 是一个可观察的集合。
我想要的是如果在 SaveToStream 中进行了更改。我想填充 ExtractedData 集合。但是在我的 OnSaveToStreamChanged 方法中。我无法访问 ExtractedData 集合。我该如何解决这个问题?谢谢。
传递给 PropertyChangedCallback 的第一个参数是控件实例:
private static void OnSaveToStreamChanged(
DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var control = (PdfViewerControlHelper)d;
// do something with control.ExtractedData
}
依赖属性如何相互通信。
我在一个 class
中有两个依赖项 属性public bool SaveToStream
{
get { return (bool)GetValue(SaveToStreamProperty); }
set { SetValue(SaveToStreamProperty, value); }
}
// Using a DependencyProperty as the backing store for SaveToStream. This enables animation, styling, binding, etc...
public static readonly DependencyProperty SaveToStreamProperty =
DependencyProperty.Register("SaveToStream", typeof(bool), typeof(PdfViewerControlHelper), new PropertyMetadata(OnSaveToStreamChanged));
private static void OnSaveToStreamChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
//how to i populate the contents of the ExtractedData here.
}
public ObservableCollection<DataItem> ExtractedData
{
get { return (ObservableCollection<DataItem>)GetValue(ExtractedDataProperty); }
set { SetValue(ExtractedDataProperty, value); }
}
// Using a DependencyProperty as the backing store for ExtractedData. This enables animation, styling, binding, etc...
public static readonly DependencyProperty ExtractedDataProperty =
DependencyProperty.Register("ExtractedData", typeof(ObservableCollection<DataItem>), typeof(PdfViewerControlHelper),
new FrameworkPropertyMetadata(new ObservableCollection<DataItem>(), FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, null));
我有两个依赖项属性。 SaveToStream 是一个布尔值,ExtractedData 是一个可观察的集合。
我想要的是如果在 SaveToStream 中进行了更改。我想填充 ExtractedData 集合。但是在我的 OnSaveToStreamChanged 方法中。我无法访问 ExtractedData 集合。我该如何解决这个问题?谢谢。
传递给 PropertyChangedCallback 的第一个参数是控件实例:
private static void OnSaveToStreamChanged(
DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var control = (PdfViewerControlHelper)d;
// do something with control.ExtractedData
}