- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
基本上,我有一个包含多个列的 DataGrid
,我想启用(更改 IsReadOnly
属性)一个基于CheckBox
IsChecked
,位于同一个DataGrid
的另一个DataGridTemplateColumn
中。
这是代码(的重要部分):
<DataGrid Name="lstTags" Grid.Row="0" ItemsSource="{Binding Path = LinesCollection}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" SelectionMode="Single" LostFocus="lstTags_LostFocus" SelectionChanged="lstTags_SelectionChanged">
<DataGrid.Columns>
<DataGridTemplateColumn x:Name="colAutoScale" Header="Auto Scale">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox x:Name="ckbAutoScale" HorizontalAlignment="Center" IsChecked="{Binding AutoScale, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Scale" Binding="{Binding Path=Scale}" IsReadOnly="{Binding ElementName ckbAutoScale, Path=IsChecked}" Width="60" />
</DataGrid.Columns>
</DataGrid>
值得一提的是,我还想反转IsChecked属性的值,即
IsChecked = true
=> IsReadOnly = false
;IsChecked = false
=> IsReadOnly = true
。我可能会用一个简单的 Converter
来实现这一点,但我需要第一部分才能正常工作。
编辑:
回答一个好问题,我的目标是禁用相邻的单元格(同一行),而不是整列。
最佳答案
为您的Scale
Column
使用以下绑定(bind):
<DataGridTextColumn Header="Scale" Binding="{Binding Path=Scale}" Width="60" >
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="IsEnabled" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type DataGridCellsPanel}},Path=Children[0].Content.Content.AutoScale}" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
或简单地
<DataGridTextColumn Header="Scale" Binding="{Binding Path=Scale}" Width="60" >
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="IsEnabled" Value="{Binding Path=AutoScale}" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
输出:
PS: Above Solution 1 is specific to your code, cause
Auto Scale
column
is at 0Index
that's why I usedChildren[0]
inBinding
. Please change if there is any contextual need.
关于c# - 将 DataGridTextColumn 的 IsReadOnly 绑定(bind)到 DataGridTemplateColumn 复选框 IsChecked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36650502/
我正在创建一个实现 IList 的专用代理类并包装内部 List实例。 List本身实现 IList ,它声明了一个成员 bool IsReadOnly,但是当我尝试从我自己的类访问该成员时,我不能,
任何人都可以启发我以下不起作用的方式 我正在使用 mvvm 模式 执行我的代码后,我仍然能够选中和取消选中 DataGridCheckBoxColumn 中的复选框 属性(我的 ViewModel 的
如果我创建到 IsReadOnly 的绑定(bind)DataGridTextColumn 的属性(property),它没有实现。如果我通过标记设置它,它可以工作。 IsReferenceI
我在 .NET 中有一个具有 2 个新属性的用户控件 Prop1: Boolean Prop2: String 当用户将 Prop1 设置为 false 时,我想在属性网格中使 Prop2 READO
在 Silverlight 4 中,DataGridTextColumn 的 IsReadOnly 属性似乎没有依赖属性。因此我无法将它绑定(bind)到 View 模型上的属性。 似乎唯一的选择是使
我目前有一个在 DataGrid 中使用的自定义 CheckBox 样式。但是,当我在 DataGridCheckBoxColumn 中指定 IsReadOnly="true"属性时,这不再起作用(我
我想根据集合中的值为每一行启用/禁用我的数据网格中的复选框列。我有一个名为 AccountComponents 的 ObservableCollection,它是一个名为 AccountCompone
谁能帮我解决以下问题。 ############################### # retrieve Rule Definitions ############################
在 .Net 框架中,List实现 ICollection界面。但是,在 Visual Studio 中查看 List 类时,我看不到 IsReadOnly属性,据说在 ICollection界面。
使用为 IsReadOnly() 方法返回值的 PropertyDescriptor 和与 ReadOnlyAttribute 关联的有什么区别>? 最佳答案 主要区别在于,如果您提供自己的 Prop
备注 IList.IsReadOnly说明如下: A collection that is read-only does not allow the addition, removal, or mod
类型化数组同时实现 System.Collections.IList和 System.Collections.Generic.ICollection接口(interface),它们都有自己的IsRea
我正在编写一个实现 IList 的数组包装类。 .我不确定返回什么 IList.IsReadOnly (继承自 ICollection )。 我的类(class)不允许插入和删除。它确实允许通过 th
这两种检查文件是否只读的方式有区别吗? Dim fi As New FileInfo("myfile.txt") ' getting it from FileInfo Dim ro As Boolea
这个 var h = new HashSet(); var r = h.IsReadOnly; 不编译。我必须做的 var r = ((ICollection)h).IsReadOnly; 为什么Is
我正在尝试使用 Windows 8.1 应用程序中的绑定(bind)将文本框设置为只读。我已经尝试了一些来自互联网的代码,但它们不起作用。你能建议任何最简单的方法吗,我对绑定(bind)这个概念还很陌
本文整理了Java中com.datasift.dropwizard.zookeeper.ZooKeeperFactory.isReadOnly()方法的一些代码示例,展示了ZooKeeperFacto
我有这个文本框。此文本框位于 数据模板 : ... 我想允许用户选择其中的整个文本(可选地通过单击文本框)。而且我不想使用任何 后面的代码。 怎么做?提前致谢。 最佳答案 我
Java JDBC Connection 类允许设置一个名为 readOnly 的参数,但它有什么用呢? 根据 JDBC documentation : readOnly is used to put
isLeaf 和 isReadOnly 有什么区别? 根据https://stackoverflow.com/a/16253663/2656889和https://stackoverflow.com/
我是一名优秀的程序员,十分优秀!