我正在尝试绑定到对象的实例方法,但我只能找到绑定到属性或静态方法的示例。这是我的代码的相关部分:
<Window.Resources>
<ObjectDataProvider x:Key="identifier" MethodName="getIdentifier" ObjectType="{x:Type self:PartModel}" />
</Window.Resources>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Margin="0,0,0,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20" />
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding identifier}" Grid.Column="0" />
<TextBlock Text="{Binding Title}" Grid.Column="1" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
PartModel
是我用来填充ItemsControl的对象。当我在常规代码中调用它时,Title
显示并且getIdentifier
方法有效。但在我的视图中,只显示标题,标识符列仍为空。
这是否可能,或者我是否必须将标识符写入模型的属性?
答案 0 :(得分:1)
您当前绑定到identifier
属性,该属性在列表项的DataContext对象中不存在。
将绑定Source
对象设置为identifier
资源键引用的ObjectDataProvider资源:
<TextBlock Text="{Binding Source={StaticResource identifier}}"/>