wpf - 根据 IsChecked 更改复选框文本

标签 wpf checkbox triggers

我希望根据 IsChecked 状态更改复选框文本。

尝试了以下方法,但它提示没有属性 Content

                <CheckBox Name="IsManualInput" IsChecked="{Binding Path=IsManual, Mode=TwoWay}" >
                    <CheckBox.Style>
                        <Style>
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsChecked}" Value="True" >
                                    <Setter Property="Content" Value="Manual" />
                                    <Setter Property="IsReadOnly" Value="True"/>
                                </DataTrigger>
                                <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsChecked}" Value="True" >
                                    <Setter Property="Content" Value="Define manually..." />
                                    <Setter Property="IsReadOnly" Value="True"/>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </CheckBox.Style>
                </CheckBox>

最佳答案

这是一个简单的错误,您需要在样式中包含 TargetType。

例如

<Style TargetType="{x:Type CheckBox}">

关于wpf - 根据 IsChecked 更改复选框文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35122344/

相关文章:

java - 如何取消选中 radiogroup 中的单选按钮并收听操作

sql - SCOPE_IDENTITY 而不是插入触发器的解决方法

c# - 如何访问另一个控件的 viewModel

c# - TreeView.ItemContainerGenerator.ContainerFromItem 为非根项返回 null。解决方法?

wpf - 跨多个页面打印 WPF ItemsControl

c# - 如何在点击 F4 时禁用 Wpf 组合框下拉列表?

javascript - crm 2011 中的复选框和部分

javascript - AngularJS 中字符串中特定字符的绑定(bind)/建模

mysql - 在 LOAD DATA INFILE 期间触发跳过某些插入

javascript - 拦截点击,进行一些调用,然后恢复点击之前应该执行的操作