我有一个 ListBox 的自定义 ItemTemplate ,我需要将 TextBlock “绑定”到一些特殊的方法/属性。
我的 ListBox 源是一个ObservableCollection<SearchResultItem>
. SearchResultItem
包含一些属性。
文本需要根据另一个对象的值进行更改。例如,如果这个对象等于“foo”,我需要文本值来调用方法GetProperty("foo")
以SearchResultItem
获得正确的值。
这是一个代码示例:
<DataTemplate>
..
//Here is a Label bound to the Date Property of the SearchResultItem
<Label Margin="2,2,2,0" Grid.Row="0" Grid.Column="2" Content="{Binding Path=Date}" HorizontalAlignment="Right" HorizontalContentAlignment="Right" />
//Here is the textblock that needs to call the method with the parameter based on the value of the other object.
<TextBlock Margin="2,2,2,0" TextTrimming="CharacterEllipsis" Grid.Row="0" Grid.Column="1" Text="I need some help there" HorizontalAlignment="Left" VerticalAlignment="Center" Foreground="Black"/>
..
</DataTemplate>
您对如何做到这一点或更好的方法有任何想法吗?
编辑:
-假设SearchResultItem
来自外部库并且只公开GetProperty
方法。
- 假设“foo”值来自ConfigurationManager.AppSettings["propertyName"];
它是否有帮助。