2012-09-14 99 views
2

我有一些ListView,我希望他们都具有相同的View。所以,如果下面是我View列表视图与同一视图

<ListView.View> 
    <GridView> 
     <GridViewColumn Width="140" Header="Game Name" 
     DisplayMemberBinding="{Binding GameName}" /> 
     <GridViewColumn Width="140" Header="Creator" 
     DisplayMemberBinding="{Binding Creator}" /> 
     <GridViewColumn Width="140" Header="Publisher" 
     DisplayMemberBinding="{Binding Publisher}" /> 
    </GridView> 
</ListView.View> 

我想是这样的:

<Grid> 

<ListView> 
    <!--Here my ListView is the same defined above--> 
</ListView> 

<ListView> 
    <!--Here my ListView is the same defined above--> 
</ListView> 

</Grid> 

我怎样才能做到这一点?

回答

1

定义视图中的资源(无论是在顶层控制,或外部资源字典中的资源字典):

<StackPanel> 
    <StackPanel.Resources> 
     <GridView x:Key="myView" x:Shared="false"> 
      <GridViewColumn Width="140" Header="Game Name" 
    DisplayMemberBinding="{Binding GameName}" /> 
      <GridViewColumn Width="140" Header="Creator" 
    DisplayMemberBinding="{Binding Creator}" /> 
      <GridViewColumn Width="140" Header="Publisher" 
    DisplayMemberBinding="{Binding Publisher}" /> 
     </GridView> 
    </StackPanel.Resources> 

    <ListView View="{StaticResource myView}"/> 
    <ListView View="{StaticResource myView}"/> 
</StackPanel> 
+0

一个'XamlParseExeception'出现在您的解决方案中... – gliderkite

+0

@gliderkite:什么是异常细节? – Dennis

+0

'无法在'System.Windows.Controls.ViewBase'类型的对象中的'View'中转换该值。不可能在多个ListView中共享视觉化。 – gliderkite

0

使用此。干杯

<Grid> 

    <ListView Name="FirstList"> 
     <ListView.View> 
      <GridView> 
       <GridViewColumn Width="140" Header="Game Name" DisplayMemberBinding="{Binding GameName}" /> 
       <GridViewColumn Width="140" Header="Creator" DisplayMemberBinding="{Binding Creator}" /> 
       <GridViewColumn Width="140" Header="Publisher" DisplayMemberBinding="{Binding Publisher}" /> 
      </GridView> 
     </ListView.View> 
    </ListView> 

    <ListView View="{Binding Path=View, ElementName=FirstList}" /> 

</Grid> 
+0

绑定视图?这是什么意思? – gliderkite

+0

查看更新。顺便说一下,Binding表达式的默认属性是Path属性。干杯 – Rikki