我有这样的东西:
<UserControl.Resources>
<ResourceDictionary>
<CollectionViewSource x:Key="filteredSymbols" Source="{Binding Symbols ,RelativeSource={RelativeSource AncestorType=UserControl}}"
Filter="Symbols_CollectionViewSource_Filter" IsLiveFilteringRequested="True" >
<CollectionViewSource.LiveFilteringProperties>
<sys:String>DisplayPage</sys:String>
</CollectionViewSource.LiveFilteringProperties>
</CollectionViewSource>
</ResourceDictionary>
</UserControl.Resources>
...
<Border Background="{Binding Source={StaticResource filteredSymbols}, Converter={StaticResource MultiThresholdToReturnValueConverter}}" >
我正在尝试将ListCollectionView
传递给border背景属性中的转换器,但是它将继续传递null。
我还尝试将Path=.
添加到边框背景绑定中,这没什么区别。
我想念什么吗?
编辑:
我刚刚在ListView
的{{1}}上尝试了相同的绑定,并使用以下代码将ItemsSource
对象传递给了转换器:
ListCollectionView
怎么回事?
答案 0 :(得分:1)
我找到了解决此问题的方法,方法是在后面的代码中将资源设置为...
public static readonly DependencyProperty FilteredSymbolsProperty = DependencyProperty.Register(nameof(FilteredSymbols), typeof(CollectionViewSource), typeof(SymbolSummaryControl));
public CollectionViewSource FilteredSymbols
{
set { SetValue(FilteredSymbolsProperty, value); }
get { return (CollectionViewSource)GetValue(FilteredSymbolsProperty); }
}
public ctor()
{
InitializeComponent();
FilteredSymbols = (CollectionViewSource)this.Resources["filteredSymbols"];
Debug.Assert(FilteredSymbols != null);
}
...
,然后像这样绑定到该资源:
后面的代码:
Background="{Binding Path=FilteredSymbols.View, RelativeSource={RelativeSource AncestorType=UserControl}, Converter={StaticResource MultiThresholdToReturnValueConverter}}"
然后使用绑定:
paste0("Max is: ", do.call(max,c_01), " at index: ",which.max(c_01))
[1] "Max is: 9 at index: 3"