DataGrid的checkbox

dengkz1 2010-04-16 10:43:58
<slData:DataGrid x:Name="dataTable" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" AutoGenerateColumns="False" HeadersVisibility="All" Background="White" VerticalAlignment="Top"
BorderBrush="Black" BorderThickness="1"
HorizontalAlignment="Left" HorizontalScrollBarVisibility="Hidden" Width="430"
IsReadOnly="True" SelectedIndex="-1"
>
<slData:DataGrid.Columns>
<slData:DataGridTextColumn Width="100" Binding="{Binding Path=cName}" Header="名称"/>
<slData:DataGridTextColumn Width="70" Binding="{Binding Path=cType}" Header="状态"/>
<slData:DataGridTemplateColumn Header="查看" Width="120">
<slData:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox x:Name="check1" Click="check1_Click" Content="查看" VerticalAlignment="Center" HorizontalAlignment="Center"></CheckBox>
</DataTemplate>
</slData:DataGridTemplateColumn.CellTemplate>
</slData:DataGridTemplateColumn>
<slData:DataGridTemplateColumn Header="显示" Width="120">
<slData:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox x:Name="check2" Click="check2_Click" IsEnabled="False" Content="显示" Grid.Row="0" Grid.Column="3" VerticalAlignment="Center" HorizontalAlignment="Center"></CheckBox>
</DataTemplate>
</slData:DataGridTemplateColumn.CellTemplate>
</slData:DataGridTemplateColumn>
</slData:DataGrid.Columns>
</slData:DataGrid>


怎样当check1选中时,check2的IsEnabled=true,check1未选中时,check2的IsEnabled=false
...全文
106 9 打赏 收藏 转发到动态 举报
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
websco 2010-04-19
  • 打赏
  • 举报
回复
同志们,这是在 DataTemplate 中啊,Elementname 能在 DataTemplate 中生效么? 应该是 Binding 到后台实体,通过 Converter 转换成 Boolean
ck436 2010-04-18
  • 打赏
  • 举报
回复
这就是绑定的优势,哈哈
jv9 2010-04-16
  • 打赏
  • 举报
回复
<CheckBox Name="check2" IsEnabled="{Binding IsChecked,Elementname=check1}"/>

使用Element Binding就可以实现。
TimDavid 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qq124493482 的回复:]

外观:
口check1
口check2
==================
代码:
<CheckBox Name="check1"/>
<CheckBox Name="check2" IsEnabled="{Binding IsChecked,Elementname=check1}"/>
==================
说明:
把check2的IsEnabled属性绑定……
[/Quote]
应该可以的。
qq124493482 2010-04-16
  • 打赏
  • 举报
回复
外观:
口check1
口check2
==================
代码:
<CheckBox Name="check1"/>
<CheckBox Name="check2" IsEnabled="{Binding IsChecked,Elementname=check1}"/>
==================
说明:
把check2的IsEnabled属性绑定到check1的IsChecked属性上即可。

dengkz1 2010-04-16
  • 打赏
  • 举报
回复

有错
IsEnabled的属性值{Binding IsChecked,Elementname=check1}无效

8,707

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告