CheckBox состояние CellTemplate в ListView - PullRequest
0 голосов
/ 20 апреля 2011

Я пытаюсь использовать стили, чтобы предотвратить повторение кода, помещая их в Resource Disctionary.

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

Что у меня есть в моем XAML:

<ListView Name="listView">
    <ListView.View>
        <GridView AllowsColumnReorder="False">
            <GridViewColumn DisplayMemberPath="{Binding [1]}"/>
            <GridViewColumn DisplayMemberPath="{Binding [2]}"/>
            <GridViewColumn DisplayMemberPath="{Binding [4]}"/>
            <GridViewColumn DisplayMemberPath="{Binding [5]}"/>
            <GridViewColumn DisplayMemberPath="{Binding [6]}"/>
            <GridViewColumn DisplayMemberPath="{Binding [7]}"/>
            <GridViewColumn>
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <CheckBox IsThreeState="False" IsChecked="{Binding [8]}" Unchecked="CheckBox_Changed" Checked="CheckBox_Changed"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

И я пытаюсь сделать что-то подобное в Словаре ресурсов:

<DataTemplate x:Key="ListViewCheckboxCell">
    <StackPanel>
        <CheckBox IsThreeState="False" IsChecked="Make reference"/>
    </StackPanel>
</DataTemplate>

И значения в этом столбце всегда являются логическими значениями.

Заранее спасибо!

1 Ответ

1 голос
/ 20 апреля 2011

То, что вы сделали, кажется правильным. Теперь вам нужно написать

<GridViewColumn CellTemplate="{StaticResource ListViewCheckboxCell}" />

Шаблон будет принят во внимание, вы можете оставить точно такой же шаблон, как и оригинал в вашем словаре ресурсов: привязка динамически разрешается, поэтому, когда XAML будет прочитан, привязки будут автоматически установлены для связанного объекта, следуя тому, что вы указали

...