【问题标题】:Bind a specific checkbox of a checkbox column in wpf在wpf中绑定复选框列的特定复选框
【发布时间】:2020-06-27 11:43:24
【问题描述】:

我是 wpf 的第一步,我正在尝试维护一些代码。尽量把你的解释简单化,我会尽量使用正确的定义。

<TextBox Background="#ECECECEC" 
               Text="Bla bla"
               Visibility="{Binding ElementName=UseCwdCheckBox , Path=Context.SettingsHandler.UseCWDForTyping, Converter={StaticResource VisibleIfTrueConverter}}"   >
</TextBox>

目前,如果选中某个复选框,则上面的文本框是可见的。但这不是预期的行为。我想绑定名为“已启用”的(下方)DataGridCheckBoxColumn 的特定复选框。但是,我不确定它在专栏中的位置。但是,我可以确定,称为“名称”的下一列(在同一数据网格中)将有一个名称 =“约翰”,即一句话:如果约翰的复选框是,我希望文本框变得可见检查。

             <DataGrid.Columns>
                    <DataGridCheckBoxColumn Header="Enabled"
                                            Binding="{Binding Enabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                                            Width="60">
                        <DataGridCheckBoxColumn.ElementStyle>
                            <Style TargetType="CheckBox">
                                <Setter Property="VerticalAlignment" Value="Center" />
                                <Setter Property="HorizontalAlignment" Value="Center" />
                            </Style>
                        </DataGridCheckBoxColumn.ElementStyle>
                    </DataGridCheckBoxColumn>

非常感谢任何帮助。

【问题讨论】:

    标签: c# wpf visual-studio data-binding


    【解决方案1】:

    您可以在Datagrid的第一列和TextBox的CheckBox后面使用代码。

      private void Button_Click(object sender, RoutedEventArgs e)
            {
                Binding binding = new Binding() { Source= (dataGrid1.Columns[0].GetCellContent(dataGrid1.Items[0]) as CheckBox) ,Path=new PropertyPath ("IsChecked")};
                binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                binding.Mode = BindingMode.TwoWay;
                binding.Converter = new VisibleIfTrueConverter();
                textBox1.SetBinding(TextBox.VisibilityProperty, binding);
    
            }
    

    【讨论】:

      猜你喜欢
      • 2014-08-23
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-06
      相关资源
      最近更新 更多