WPF DataGrid TemplateColumn不在编辑和普通模板之间切换

时间:2017-06-20 16:21:18

标签: wpf datagrid

我有一个WPF DataGrid,我正在尝试在不处于编辑模式时显示TextBlock,在编辑时尝试显示ComboBox。我认为这很容易,但事实并非如此。我只能使用蛮力方法将控件置于网格中,并使用可见性绑定依次显示控件;这真是一种痛苦。

为什么以下不起作用: 我可以根据细胞编辑来显示其中一个,但不能同时显示两者。

<DataGrid Background="DarkGray" ItemsSource="{Binding Items}" CanUserAddRows="false" AutoGenerateColumns="False"
        ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Auto"
        ScrollViewer.VerticalScrollBarVisibility="Auto"
        SelectionChanged="DataGrid_SelectionChanged" SelectedIndex="{Binding SelectedIndex}"
        behaviors:DataGridBehavior.OnSelectAction="{Binding Path=OnSelectionChanged}">
            <DataGrid.Columns>
    <DataGridTextColumn Header="Button" Binding="{Binding Button}" />
    <DataGridTextColumn Header="Button Display" Binding="{Binding ButtonDisplay}" />
    <DataGridTextColumn Header="Reason Code" Binding="{Binding ReasonCode}" />
    <!--<DataGridTextColumn Header="Count Stamps" Binding="{Binding CountStamps}" />-->
    <DataGridTemplateColumn Header="Count Stamps">
        <DataGridTemplateColumn.CellEditingTemplate>
            <DataTemplate>
                <ComboBox IsEditable="True" SelectedValue="{Binding CountStamps}"
                            ItemsSource="{Binding Values}" DisplayMemberPath="Name" SelectedValuePath="Value" />
            </DataTemplate>
        </DataGridTemplateColumn.CellEditingTemplate>

        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding CountStamps}" />
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
    <DataGridTextColumn Header="Description" Binding="{Binding Description}" Width="*" />
</DataGrid.Columns>

0 个答案:

没有答案