2013-08-14 2 views
1

Я пытаюсь создать ListView с GridView, который имеет 2 столбца: имя и дата, которые должны быть привязаны к Лицу Object позже.XAML: тот же шаблон, различные привязки

Я хочу использовать DataTemplate, этот шаблон состоит из Label.

Моя проблема заключается в том, что я хочу использовать этот шаблон для обоих столбцов, но содержимое метки должно быть привязано к другому свойству в каждом столбце. Короче говоря, я хочу иметь возможность связывать содержимое метки в блоке кода GridViewColumn, а не в блоке кода DataTemplate.

Заранее за вашу помощь.

+1

Я думаю, что было бы полезно, чтобы показать свое расположение XAML. –

+0

Возможный дубликат [http://stackoverflow.com/q/8328443/1860561](http://stackoverflow.com/q/8328443/1860561). – gitsitgo

+0

Кажется, что использовать те же 'DataTemplate' для привязки нескольких столбцов - это тупик, если вы не используете разные шаблоны. Если вы можете использовать свойство DisplayMemberBinding', то вы можете сделать то, что хотите, указав привязку столбца как свойство Name или Date объекта Person. – gitsitgo

ответ

0

Я пробовал это с пустым связыванием в datatemplate, который был решен в моем случае .. (не проверял типы объектов с более чем одним связующим свойством). Это будет работать в контексте этого вопроса.

<DataTemplate x:Key="commonTemplate"> 
    <Label Content="{Binding}" /> 
</DataTemplate> 

<GridViewColumn> 
    <GridViewColumn.CellTemplate> 
     <DataTemplate> 
      <ContentPresenter Content="{Binding Name}" 
       ContentTemplate="{StaticResource commonTemplate}"/> 
     </DataTemplate> 
    </GridViewColumn.CellTemplate> 
</GridViewColumn> 

<GridViewColumn> 
    <GridViewColumn.CellTemplate> 
     <DataTemplate> 
      <ContentPresenter Content="{Binding Date}" 
       ContentTemplate="{StaticResource commonTemplate}"/> 
     </DataTemplate> 
    </GridViewColumn.CellTemplate> 
</GridViewColumn> 

Любое лучший способ или улучшения всегда приветствуется .. спасибо