c# - 如何从列表框中的项目访问复选框

标签 c# wpf listbox

我需要对每个项目应用一个条件,如果为真,它应该在项目中显示复选框,如果为假,它应该隐藏。如何实现?

这是 xaml:

                    <ListBox Name="lbAllInstances" Width="500" Height="400"
                        SelectionMode="Multiple"
                        ScrollViewer.HorizontalScrollBarVisibility="Disabled"
                        ScrollViewer.VerticalScrollBarVisibility="Visible"
                        SelectionChanged="lbAllInstances_SelectionChanged">

                        <ListBox.ItemTemplate>
                            <DataTemplate>
                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="Auto" />
                                        <ColumnDefinition Width="6" />
                                        <ColumnDefinition Width="*" />
                                    </Grid.ColumnDefinitions>
                                    <CheckBox Grid.Column="0" VerticalAlignment="Center" />
                                    <TextBlock Grid.Column="2" Text="{Binding Name}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" />
                                </Grid>
                            </DataTemplate>
                        </ListBox.ItemTemplate>

                    </ListBox>

最佳答案

尝试使用 BooleanToVisibilityConverter

<!-- In your resources section of the XAML -->
<BooleanToVisibilityConverter x:Key="BoolToVis" />

<ListBox.ItemTemplate>
    ...
    <CheckBox Grid.Column="0" VerticalAlignment="Center" 
    Visibility="{Binding Path=IsVisibleProperty, Converter={StaticResource BoolToVis}}"/>
    ...
</ListBox.ItemTemplate>

关于c# - 如何从列表框中的项目访问复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29894953/

相关文章:

wpf - 数据网格验证以防止重复输入

c# - 将我填充的数组值显示到列表框中并可选择删除它们

c# - 如何将数据表行与列表框项目进行比较

c# - EntityFramework 6.0.0.0 读取数据,但不插入

c# - 交换控制模板

C# 代码提供程序 : Add reference to XNA?

c# - 接口(interface)和泛型的两种方式引用

c# - 获取 "type or namespace name could not be found"但一切似乎都正常?

c# - CSS 和 JS 文件未呈现

c# - 如何从 WPF KeyDown 事件中获取普通字符?