2013-05-10 76 views
0

WPF的属性“内容”不能为数据I有一个列表视图和在第一列上我尝试底层集合的索引绑定。绑定到一个可视元素

<Window.Resources> 
    <local:IndexConverter x:Key="IndexConverter" /> 
</Window.Resources> 
.... 
<ListView> 
    <ListView.View> 
     <GridView>   
      <GridViewColumn> 
       <GridViewColumn.CellTemplate> 
        <DataTemplate> 
         <Label Width="70" Height="40" 
Content="{Binding RelativeSource={RelativeSource AncestorType=ListViewItem}, Converter={StaticResource IndexConverter}}"></Label> 
         <!-- More stuff --> 
        </DataTemplate> 
       </GridViewColumn.CellTemplate> 
      </GridViewColumn> 
     </GridView> 
    </ListView.View> 
</ListView> 

// IndexConverter 
public object Convert(object value, Type TargetType, object parameter, CultureInfo culture) 
{ 
    // Get row number. This part is working. 
    // Return the formatted row number 
    return string.Format("#{0}", rowNumber); 
} 

当我编译此我得到以下错误:

属性“内容”不能是绑定到一个可视元素的数据。

什么是错的结合?

回答

2

我想你想直接在列表视图项绑定(这是一个视觉元素我猜的)到您的内容:我没有看到你的绑定,只有源的路径。

尝试绑定的东西你的内容

<Label Width="70" Height="40" Content="{Binding Path=SomeThing,RelativeSource=RelativeSource AncestorType=ListViewItem},Converter={StaticResource IndexConverter}}"> 
+0

我本来应该设置为路径?我想要什么总结:我得到的选择列表视图项,传递到转换器,然后写在内容字段中的值。 – Patrick 2013-05-10 11:12:14

+1

通过列表视图项你指的是项目作为可视化组件或背后的业务对象(即这可能是绑定到列表视图中的ItemSource列表中的对象之一)? – Bruno 2013-05-10 11:33:23