WPF - Как связать элемент в DataTemplate? - PullRequest
0 голосов
/ 23 декабря 2010

Я столкнулся с небольшой проблемой.Я создал DataTemplate и поместил его в App.xaml, и я хотел бы использовать его для стилизации своих CheckBoxes в дюжине или около того ListViews, которые у меня есть.Каждый конкретный ListView имеет по крайней мере один столбец со значением bool.

Вот шаблон данных, который я сделал:

<DataTemplate x:Key="checkBoxDataTemplate">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>

        <CheckBox Grid.Column="0" Grid.Row="0" Style="{StaticResource DataGridCheckBox}" IsChecked="{WhatDoIPutHere?}" />
    </Grid>
</DataTemplate>

И я пытаюсь использовать его для замены этого:

<GridViewColumn Header="Discovery Date">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <CheckBox Grid.Column="0" Grid.Row="0" Style="{StaticResource DataGridCheckBox}" IsChecked="{Binding CaseProperty.DiscoveryDate, Mode=OneWay, Converter={StaticResource booleanConverter},ConverterParameter='datetime'}" />
         </DataTemplate>
     </GridViewColumn.CellTemplate>
</GridViewColumn>

Как видите, у меня IsChecked привязан к определенному свойству объекта, присоединенного к моему ListView.Если я заменю его своим шаблоном, как мне привязать свойство IsChecked CheckBox в DataTemplate?

Заранее спасибо,Sonny

Ответы [ 2 ]

0 голосов
/ 17 мая 2011

С тех пор я отказался от этого подхода.Я не думаю, что DataTemplates предназначены для такой работы ... да ладно ...

0 голосов
/ 23 декабря 2010

Вы можете попробовать этот способ:

<CheckBox Grid.Column="0" Grid.Row="0" Style="{StaticResource DataGridCheckBox}"
          IsChecked="{Binding}" />

и затем установить соответствующий DataContext.

...