选中另一个列表中的DataGridRows中的复选框

伊森·布劳(Ethan Brouwer)

我有一个类型DataGridObservableCollection的类型Tennant(请打拼,请最终解决)ItemsSourceTennant班由一个名称,电子邮件,电话号码,和职业的了。但是,在DataGrid中,我在程序中有一组所有的Tennant,仅包含其名称,一个复选框以显示它们是否在Property被编辑的当前环境中生活或曾经生活过,以及一个单选按钮,用于显示当前是否正在编辑。当前TennantProperty这是一个屏幕截图:

编辑属性窗口

我的问题在“住这里”一栏。这不绑定到TennantProperty类的任何部分相反,它具有两个事件(“已检查”和“未检查”),这些事件实际上将其添加到“当前属性”中。这是其中之一。另一个几乎相同,只是将其删除而不是添加。(加上我做了我自己的,DataGridColumnTemplate因为CheckBox没有这些事件...)

private void livedHereCheck_Checked(object sender, RoutedEventArgs e)
{
    CheckBox chkd = (sender as CheckBox);
    Tennant cur = (chkd.DataContext as Tennant);
    CurrentProperty.addTennant(cur);
}

这样就行了(尽管我肯定可以肯定有一种更好的方法)。真正的问题出现在我第一次打开窗口时,我需要设置一些此处已设置的Live CheckBox,因为它们已经在CurrentProperty.tennantsProperty中(请注意,它是小写字母。仍然会引起wpf和c#标准的困扰等等。)

目前我有这个:

private void Window_Initialized(object sender, EventArgs e)
{
    var iSource = tennantsGrid.ItemsSource;
    foreach (Tennant cur in iSource)
    {
        var row = tennantsGrid.ItemContainerGenerator.ContainerFromItem(cur);
        if (row != null)
        {
            if (CurrentProperty.hasTennant(cur))
            {
                // Something here... Not sure yet how to actually check the box but that goes here.
            }  
        }
    }
}

这就是我需要帮助的地方。我该如何在窗口初始化时执行此操作,还是最好在其他地方执行此操作以避免混淆?有没有更好的方式来做我正在尝试的一切?您是否需要其他代码来帮助回答?谢谢!

Pushpraj

因此,我们将更多地使用WPF方法

从定义转换器类开始

class HasTennantConverter : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        Tennant tennant = values[0] as Tennant;
        Property property = values[1] as Property;
        return property.hasTennant(tennant);
    }

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

然后在您的XAML中将此转换器添加到您的资源中

<l:HasTennantConverter x:Key="HasTennantConverter"/>

并将其绑定到“样式”或“模板”行中的CheckBox

我已使用Window作为检索SourceProperty的相对源,您可以选择适当的绑定来检索CurrentProperty。

<CheckBox>
    <CheckBox.IsChecked>
        <MultiBinding Converter="{StaticResource HasTennantConverter}" Mode="OneWay">
            <Binding />
            <Binding Path="DataContext.CurrentProperty" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=Window}"/>
        </MultiBinding>
    </CheckBox.IsChecked>
</CheckBox>

此互斥会将Tennant和CurrentProperty发送到转换器,并且将在转换器中检查逻辑,并根据您的逻辑将返回true或false,该逻辑将选中或取消选中CheckBox。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

选中另一个列表中的DataGridRows中的复选框

来自分类Dev

如何通过选中Microsoft Lightswitch中的另一个复选框来更改复选框的状态

来自分类Dev

如何仅从组复选框中的另一个复选框中选中所有其他复选框

来自分类Dev

复选框列表中仅选中了一个复选框

来自分类Dev

剔除将复选框列表选中的项目绑定到另一个复选框列表

来自分类Dev

选中复选框,如果另一个复选框被选中

来自分类Dev

选中另一个复选框后,取消选中该复选框

来自分类Dev

选中一个复选框后,如何在ACF中创建的另一个块中隐藏其他复选框?

来自分类Dev

如何选中另一个复选框的更改复选框?

来自分类Dev

选中复选框时,显示另一个复选框

来自分类Dev

如何选中另一个复选框的更改复选框?

来自分类Dev

选中另一个复选框时禁用复选框

来自分类Dev

取消选中面板和另一个面板中的组框内的表单中的所有复选框

来自分类Dev

如果选中一个复选框,如何取消选中另一个复选框?

来自分类Dev

如果选中一个复选框,如何取消选中另一个复选框?

来自分类Dev

当复选框被选中或复选框未选中删除值时,如何在另一个文本框中获得复选框值和文本框值的总和

来自分类Dev

显示一个div并在复选框列表中单击时隐藏另一个div

来自分类Dev

jQuery根据选中的另一个复选框设置一个复选框

来自分类Dev

在jsf中选中另一个复选框时,取消选中该复选框

来自分类Dev

仅选中离子中的一个复选框

来自分类Dev

一个复选框取消选中另一个

来自分类Dev

jQuery选择多个属性并选中/取消选中另一个复选框

来自分类Dev

禁用选择/复选框当另一个被选中/选中时

来自分类Dev

Android复选框已在一个活动中选中,然后按钮出现在另一个活动中

来自分类Dev

单击另一个复选框后,无法从复选框中应用和删除禁用的属性

来自分类Dev

如何基于AngularJs中的另一个复选框状态选择复选框?

来自分类Dev

Java:单击另一个复选框时自动更新 JTable 中的复选框

来自分类Dev

单击另一个复选框时,该复选框变为未选中状态

来自分类Dev

单击另一个复选框时,该复选框变为未选中状态

Related 相关文章

  1. 1

    选中另一个列表中的DataGridRows中的复选框

  2. 2

    如何通过选中Microsoft Lightswitch中的另一个复选框来更改复选框的状态

  3. 3

    如何仅从组复选框中的另一个复选框中选中所有其他复选框

  4. 4

    复选框列表中仅选中了一个复选框

  5. 5

    剔除将复选框列表选中的项目绑定到另一个复选框列表

  6. 6

    选中复选框,如果另一个复选框被选中

  7. 7

    选中另一个复选框后,取消选中该复选框

  8. 8

    选中一个复选框后,如何在ACF中创建的另一个块中隐藏其他复选框?

  9. 9

    如何选中另一个复选框的更改复选框?

  10. 10

    选中复选框时,显示另一个复选框

  11. 11

    如何选中另一个复选框的更改复选框?

  12. 12

    选中另一个复选框时禁用复选框

  13. 13

    取消选中面板和另一个面板中的组框内的表单中的所有复选框

  14. 14

    如果选中一个复选框,如何取消选中另一个复选框?

  15. 15

    如果选中一个复选框,如何取消选中另一个复选框?

  16. 16

    当复选框被选中或复选框未选中删除值时,如何在另一个文本框中获得复选框值和文本框值的总和

  17. 17

    显示一个div并在复选框列表中单击时隐藏另一个div

  18. 18

    jQuery根据选中的另一个复选框设置一个复选框

  19. 19

    在jsf中选中另一个复选框时,取消选中该复选框

  20. 20

    仅选中离子中的一个复选框

  21. 21

    一个复选框取消选中另一个

  22. 22

    jQuery选择多个属性并选中/取消选中另一个复选框

  23. 23

    禁用选择/复选框当另一个被选中/选中时

  24. 24

    Android复选框已在一个活动中选中,然后按钮出现在另一个活动中

  25. 25

    单击另一个复选框后,无法从复选框中应用和删除禁用的属性

  26. 26

    如何基于AngularJs中的另一个复选框状态选择复选框?

  27. 27

    Java:单击另一个复选框时自动更新 JTable 中的复选框

  28. 28

    单击另一个复选框时,该复选框变为未选中状态

  29. 29

    单击另一个复选框时,该复选框变为未选中状态

热门标签

归档