【发布时间】:2015-08-01 15:08:42
【问题描述】:
我有一个列表视图,其中一列有复选框,另一列有文本框,列表视图中有多行。 我想根据选中和未选中的复选框设置文本框的可见和隐藏属性。 它是一个使用 MVVM 模式和 PRISM 的 WPF 项目。 请帮忙,我卡住了。
<ListView Width="Auto" ItemsSource="{Binding Path=PayFeeDetails}">
<ListView.View>
<GridViewColumn Header="Description" Width="110" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Path=Description}"/>
<CheckBox Grid.Column="1" Width="30" Name="CommentCheckBox"/>
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="140">
<GridViewColumnHeader Tag="GameName" Content="Game Name" />
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<TextBox Text="{Binding Path=Balance}"/>
<TextBlock Text="{Binding Path=Balance}"/>
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
【问题讨论】:
-
到目前为止你尝试过什么?
-
为复选框命名并在文本框中绑定元素名称以及使用 BooleanToVisibilityConverter。但它没有工作。
-
最简单的解决方案是将项目中的属性设置为复选框的状态,并使用布尔到可见性转换器将该属性绑定到文本框可见性。
-
什么是
PayFeeDetails? -
'PayFeeDetails'是ViewModel中定义的属性,已经绑定在View中。
标签: c# wpf listview mvvm checkbox