【问题标题】:WPF converter column ItemsSourceWPF 转换器列 ItemsSource
【发布时间】:2015-06-05 08:48:15
【问题描述】:

我想在我的DataGrid 中添加一个与 itemsSource 绑定的转换器。

        <DataGrid x:Name="DataGrid1" ItemsSource="{Binding List}"/>

并且ItemSource 已与list 绑定。有一个布尔属性 (IsClientGood)。我希望我的数据网格不显示复选框,而是通过转换器显示颜色。这里是转换器。谢谢你们的帮助!

【问题讨论】:

    标签: c# wpf datagrid converter


    【解决方案1】:

    我假设您不知道将转换器放置在哪里? 如果您想自定义DataGrid 的外观,您必须避免从属性生成列,而是手动定义它们。

    类似这样的:

    <DataGrid x:Name="DataGrid1" AutoGenerateColumns="False" ItemsSource="{Binding ClientList}">
        <DataGrid.Columns>
            <DataGridTemplateColumn Header="Is client good">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Rectangle Fill="{Binding IsClientGood, Converter={StaticResource BoolToColorConverterKey}"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
    
            <!-- Other columns here -->
        </DataGrid.Columns>
    <DataGrid>
    

    其中BoolToColorConverterKey 是资源键,它定义了您的BoolToColor 转换器。

    【讨论】:

    • 感谢@Dennis,它可以工作,但它会生成相同的列 IcClientGood,有两个相同的列,第一个带有颜色,另一个带有复选框,如何使用复选框删除一个?谢谢
    • 使用 AutoGenerateColumns="False"。我有个问题。网格不显示列的详细信息
    • 您必须手动设置所有列。有评论“此处的其他列” - 您正在使用具有默认视图的自动生成的列,或者您正在使用自定义视图手动设置所有列。
    猜你喜欢
    • 1970-01-01
    • 2011-03-16
    • 2011-04-22
    • 1970-01-01
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 2011-08-23
    相关资源
    最近更新 更多