【问题标题】:WPF -MVVM : Checkbox Check Change in RadGridViewWPF -MVVM:RadGridView 中的复选框检查更改
【发布时间】:2015-07-07 13:14:33
【问题描述】:

这是我在 RadGridView 中的复选框,它没有在 MVVM 中实现。我想实现这个 MVVM。

<telerik:GridViewDataColumn Header="Delete" >
<telerik:GridViewDataColumn.CellTemplate>
    <DataTemplate>
        <CheckBox IsChecked="{Binding IsDeleted, Mode=TwoWay }" Checked="ToggleButton_OnChecked"  Unchecked="ToggleButton_OnUnchecked">
        </CheckBox>
    </DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>

我使用了交互触发器,但命令没有被触发。我该怎么做?

   <telerik:GridViewDataColumn Header="Delete" Width="60">
    <telerik:GridViewDataColumn.CellTemplate>
        <DataTemplate>
            <CheckBox HorizontalAlignment="Center" IsChecked="{Binding IsDeleted, Mode=TwoWay}" >
                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="Checked">
                        <cmd:EventToCommand Command="{Binding DiagramChecked}" />
                    </i:EventTrigger>
                </i:Interaction.Triggers>
            </CheckBox>
        </DataTemplate>
    </telerik:GridViewDataColumn.CellTemplate>                   
</telerik:GridViewDataColumn>

【问题讨论】:

    标签: c# wpf mvvm telerik


    【解决方案1】:

    触发器似乎很好。据推测,您的 DiagramChecked 位于另一个 DataContext 中,而不是 Context CheckBox 绑定到的(放置 IsDeleted 的位置)。检查输出窗口是否报告任何错误。
    我的假设是它引用了错误的 DataContext。尝试绑定到放置DiagramChecked命令的DataContext的某个根元素的DataContext。

     <cmd:EventToCommand Command="{Binding RelativeSource={RelativeSource AncestorType=SomeType},Path=DataContext. DiagramChecked}" />
    

    【讨论】:

    • DiagramChecked 在同一个类中,IsDeleted 是什么属性?
    • 如果复选框被选中,IsDeleted 属性为真
    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 2012-11-20
    • 2012-06-16
    • 1970-01-01
    相关资源
    最近更新 更多