【问题标题】:UpdateSourceTrigger ignoredUpdateSourceTrigger 被忽略
【发布时间】:2012-06-27 08:49:40
【问题描述】:

我在 DataGrid 中使用 CheckBoxColumn。通常绑定工作正常,但 UpdateSourceTrigger(设置为 PropertyChanged)被忽略,并且 LostFocus 上的属性更新。我的错误是什么或如何更改此行为以立即更新属性?据我所知,设置 UpdateSourceTrigger 应该可以工作。

<sdk:DataGrid Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2"
              ItemsSource="{Binding List}"
              AutoGenerateColumns="False">
    <sdk:DataGrid.Columns>
        <sdk:DataGridCheckBoxColumn Header="Enable"
                                    Binding="{Binding Enable, UpdateSourceTrigger=PropertyChanged}" />
        <sdk:DataGridTextColumn Header="Message"
                                Binding="{Binding Text}"
                                IsReadOnly="True" />
        <!-- [...] -->
    </sdk:DataGrid.Columns>
</sdk:DataGrid>

我在使用 Silverlight 工具包的 Silverlight 页面中遇到了这个问题。我在具有相同行为的 WPF 应用程序中尝试了这个简化的示例。有人有想法吗?

【问题讨论】:

    标签: wpf silverlight xaml .net-3.5


    【解决方案1】:

    我建议使用 DataGridTemplateColumn 而不是内部带有 CheckBox。

    <sdk:DataGridTemplateColumn Header="Bool">
        <sdk:DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <CheckBox IsChecked="{Binding Enable}"></CheckBox>
            </DataTemplate>
        </sdk:DataGridTemplateColumn.CellTemplate>
    </sdk:DataGridTemplateColumn>
    

    【讨论】:

    • CellEditingTemplate 长什么样子?
    • 无需定义 CellEditingTemplate。 Checkbox 直接绑定到绑定属性
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-26
    • 2016-06-05
    • 2014-02-25
    • 2011-05-09
    • 2015-02-08
    • 2011-03-27
    相关资源
    最近更新 更多