【问题标题】:WPF DataGridCheckBoxColumn not clickable when using MVVM使用 MVVM 时 WPF DataGridCheckBoxColumn 不可点击
【发布时间】:2013-11-25 17:31:23
【问题描述】:

我有以下数据网格

    <DataGrid
    Grid.Column="0" 
    Grid.Row="1"
            CanUserAddRows="False"
            CanUserDeleteRows="False"
            AutoGenerateColumns="False"
            SelectionUnit="FullRow"
            SelectionMode="Single"
    Height="auto"
    ScrollViewer.VerticalScrollBarVisibility="Auto"
    ScrollViewer.CanContentScroll="True"
            ItemsSource="{Binding TableSummaries }">
            <DataGrid.Columns>
                <DataGridCheckBoxColumn Width="*" Binding="{Binding IsChecked}"/>
                <DataGridTextColumn Header="Source Table" Binding="{Binding SourceTableFullName}" Width="4*"></DataGridTextColumn>
                <DataGridTextColumn Header="EDW Schema"  Binding="{Binding SchemaName}" Width="2*"></DataGridTextColumn>
                <DataGridTextColumn Header="EDW Table" Binding="{Binding TableName}" Width="4*"></DataGridTextColumn>
                <DataGridTextColumn Header="Status" Binding="{Binding Status}" Width="*"></DataGridTextColumn>
            </DataGrid.Columns>
        </DataGrid>

并且在视图模型中我拥有该属性

public bool IsChecked { get; set; }

当应用程序运行时,复选框会显示,但它们不可点击。我无法检查它们或对它们做任何事情

我错过了什么吗?

谢谢!

更新:

我在数据网格中添加了 IsReadOnly = "false" 以查看是否是它并且仍然是相同的结果。

【问题讨论】:

    标签: wpf mvvm wpfdatagrid


    【解决方案1】:

    如果您改用模板列会怎样

    <DataGridTemplateColumn Header="CheckBox"  >
      <DataGridTemplateColumn.CellTemplate>
          <DataTemplate>
               <CheckBox Binding="{Binding IsChecked, Mode=TwoWay}"/>
           </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
    

    这行得通吗?

    另外,当您运行应用程序并实现 INotifyPropertyChanged 时,您的输出窗口中是否出现任何绑定错误?

    【讨论】:

    • 使用这个给我一个关于复选框绑定的模棱两可的参考错误
    【解决方案2】:

    我发现问题 TableSummaries 是一个 IEumerable,它需要实现 IList,它工作得很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 2018-06-20
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 2014-08-08
      相关资源
      最近更新 更多