我正在尝试将MainPage(CodeBehind)中定义的对象绑定到ListView DataTemplate中的ConverterParameter:
<ListView ...>
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text=".. SomeBindingExpression"
FontWeight="{Binding Converter={StaticResource ChangeDateToFontWeightConverter},ConverterParameter={Binding Source=MainPage,Path=Cache}}"/>
</TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
目标是将“Cache” - MainPage中定义的对象传递给Converter。 obove Code正确调用转换器,但传递的对象Parameter为null。有没有办法在这个XAML代码中引用Cache对象?
答案 0 :(得分:0)
ConverterParameter接受一个字符串,根本不能数据绑定。 您可以将自定义属性添加到转换器类,并在MainPage的代码隐藏中传递“Cache”对象。
((ChangeDateToFontWeightConverter)this.Resources["ChangeDateToFontWeightConverter"]).MyCustomProperty = myCacheObject;
一般情况下,我建议采用MVVM方法并使用缓存对象中的所需数据扩展数据绑定类(如果可能)。这样你根本不需要转换器。