WPF:如何在ListView中设置列的样式

时间:2010-02-05 02:19:53

标签: wpf xaml listview styles

好的,这是我到目前为止所做的:

<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    xmlns:s="clr-namespace:System;assembly=mscorlib"
    Title="MainWindow"
    Height="350" 
    Width="525">
<Window.Resources>
    <DataTemplate x:Key="CheckboxColumn"
                  DataType="{x:Type sys:Boolean}">
        <CheckBox IsChecked="{Binding Path=.}" />
    </DataTemplate>
</Window.Resources>
<Grid>
    <Grid.Resources>
        <x:Array Type="{x:Type s:Boolean}"
                 x:Key="items">
            <s:Boolean>False</s:Boolean>
            <s:Boolean>True</s:Boolean>
        </x:Array>
    </Grid.Resources>
    <ListView ItemsSource="{StaticResource items}">
        <ListView.View>
            <GridView>
                <GridViewColumn Header="Number"
                                DisplayMemberBinding="{Binding Path=.}"
                                CellTemplate="{StaticResource CheckboxColumn}" />

                <GridViewColumn Header="Name"
                                DisplayMemberBinding="{Binding Path=.}" />
            </GridView>
        </ListView.View>
    </ListView>
</Grid>
</Window>

即使我设置CellTemplate,我仍然只是获得纯文本。

2 个答案:

答案 0 :(得分:0)

由于您没有发布您要绑定的数据类,我无法确定,但似乎您可能绑定到非布尔类型,并且绑定失败。您是否看过“输出”窗口以查找绑定异常?

答案 1 :(得分:0)

咄。您不能为同一列提供DisplayMemberBindingCellTemplate