我正在尝试制作内部有另一个 UserControl_2 的 UserControl (GridSearch)。我想使用 XAML 将一些 FrameworkElements 添加到 UserControl_2 面板。
所以我在 GridSearch 中做了 ObservableCollection DependencyProperty:
public partial class GridSearch : UserControl
{
public GridSearch()
{
InitializeComponent();
}
public ObservableCollection<Filter> Filters
{
get { return (ObservableCollection<Filter>)GetValue(FiltersProperty); }
set { SetValue(FiltersProperty, value); }
}
public static readonly DependencyProperty FiltersProperty =
DependencyProperty.Register("Filters",
typeof(ObservableCollection<Filter>),
typeof(GridSearch),
new FrameworkPropertyMetadata(getObservableFilters(), null)
);
private static ObservableCollection<Filter> getObservableFilters()
{
var ob = new ObservableCollection<Filter>();
ob.CollectionChanged += ob_CollectionChanged;
return ob;
}
private static void ob_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
}
}
现在我尝试使用 ob_CollectionChanged 向面板添加新元素。但是,因为它是静态方法,所以我无法访问面板。我无法投射发件人,因为它只给了我 ObservableCollection。但是我需要GridSearch。
我正在寻找几个小时的解决方案,但我不知道如何解决它。