c# - 是否有必要为简单的 true/false 操作创建一个转换器?

标签 c# wpf xaml checkbox data-binding

我问了 binding to a control并了解到我可以绑定(bind)到 ElementName .所以我做了。但是,我注意到我需要恢复被选中的值。有没有办法在没有转换器的情况下做到这一点?

<DatePicker Name="EndDate"
            Text="{Binding Path=EndDate}"
            IsEnabled="{Binding ElementName=NoEnd,Path=IsChecked}" />
<CheckBox Name="NoEndDate"
          Checked="Checked"
          Unchecked="Unchecked" />

我希望在 NoEndDate 的路径为 false 时启用,反之亦然。

最佳答案

您可以将自定义样式与 DataTrigger 一起使用。这实现了你想要的,但是使用转换器不是更容易吗?

<DatePicker Name="EndDate" Text="{Binding Path=EndDate}">
    <DatePicker.Style>
        <Style TargetType="{x:Type DatePicker}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=NoEndDate, Path=IsChecked}" Value="True">
                    <Setter Property="IsEnabled" Value="False"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </DatePicker.Style>
</DatePicker>
<CheckBox Name="NoEndDate"/>

关于c# - 是否有必要为简单的 true/false 操作创建一个转换器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33550068/

相关文章:

c# - ASP.NET Repeater Control - 获取转发器控件内的 Hiddenfield 值

c# - WPF 验证无需更新数据源

c# - 在 XAML 中使用静态函数绑定(bind)

wpf - 是否可以使用样式或模板应用混合行为?

c# - Asp.net 功能中是否存在带有验证器的电子邮件?

c# - 将文档从 MVC 网页保存到第二个 RavenDb

wpf - wpf 窗口顶部的空白区域

WPF:根据项目的大小和数量使用不同的模板

c# - 不同 DataGrid 行的不同选择颜色

.net - 关于 WPF 中的 3D 效果