Silverlight 绑定到布尔属性值的逆

2024-02-20

我想将控件可见性绑定到布尔属性值的倒数。我有一个属性 CanDownload,如果它是 true 那么我想隐藏文本框,反之亦然。我怎样才能实现这个目标?

Thanks


被问到这样的问题so经常和答案so类似我认为是时候对所有(好吧可能是“大多数”)布尔值转换问题有一个单一的答案了。我已经写博客了here https://web.archive.org/web/20200627025931/http://geekswithblogs.net:80/codingbloke/archive/2010/05/28/a-generic-boolean-value-converter.aspx.

代码非常简单,所以我也将其粘贴到这里:-

public class BoolToValueConverter<T> : IValueConverter
{
    public T FalseValue { get; set; }
    public T TrueValue { get; set; }

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if (value == null)
            return FalseValue;
        else
            return (bool)value ? TrueValue : FalseValue;
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return value != null ? value.Equals(TrueValue) : false;
    }
}

现在您可以使用一行创建可见性转换器:-

public class BoolToVisibilityConverter : BoolToValueConverter<Visibility> { }

然后您可以在资源中创建一个实例转换器,如下所示:-

<local:BoolToVisibilityConverter x:Key="InverseVisibility" TrueValue="Collapsed" FalseValue="Visible" />

请注意TrueValue and FalseValue是从更自然的顺序进行交换,为您提供所需的反转逻辑。有了这个在Resources在你的UserControl甚至 App.xaml,您现在可以使用它来绑定CanDownload财产给TextBox Visibility财产:-

<TextBox Visibility="{Binding CanDownload, Converter={StaticResource InverseVisibility}}" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Silverlight 绑定到布尔属性值的逆 的相关文章

随机推荐

  • C++ 已弃用从字符串常量到“char*”的转换

    我有一个私人课程char str 256 为此我有一个显式的构造函数 explicit myClass char func strcpy str func 我称其为 myClass obj example 当我编译这个时 我收到以下警告 已
  • (TableLayout)findViewById(空指针异常

    我整天都在寻找答案 但是当我尝试获取表格布局时 我得到的是空值 我发现信息表明它可能是另一个同名的表格布局 但只有一个 我的 xml 文件 my xml http filebin ca A1sZlhzeV0b 我的代码在这里layout6
  • 通用列表的动态排序标准

    这样做的目的是避免编写大量的 if 语句 这是我当前的代码 public override List
  • 如何在打开新对话框之前关闭所有 jquery ui 对话框?

    我想在打开新对话框之前关闭所有 jquery 对话框 我正在尝试使用以下代码 ui dialog content dialog close 它可以工作 但它也太接近新对话框了 请帮助我任何人 Try ui dialog content no
  • SQL 联合到 NHibernate 标准

    有没有办法将此 SQL 语句转换为 NHibernate Criteria select b1 FieldA as Name b1 FieldA as FullName from Sale b1 where b1 FieldA like j
  • 如何在 React Native 中将图标放入 TextInput 中?

    我正在考虑有这样的事情https android arsenal com details 1 3941 https android arsenal com details 1 3941其中有图标 按下该图标即可将密码显示为纯文本 而不是点
  • 将 Reactstrap 与 Next.js 结合使用

    我正在使用创建一个 React 应用程序Next js我正在尝试使用提供的组件reactstrap 我似乎遇到的问题似乎涉及导入名为的 CSS 文件bootstrap dist css bootstrap min css as the re
  • 如何在javascript中找到多元回归方程

    我搜索了堆栈溢出 但没有找到任何与我的问题真正相同的问题 因为没有一个问题真正具有多个自变量 基本上我有一组数据点 我希望能够找到这些数据点的回归方程 到目前为止 我的代码如下所示 w x z 是自变量 y 是因变量 var dataPoi
  • 将 cocos2d 视图添加到 UIView

    我已将 cocos2d 2 0 集成到现有的 iOS 项目中 并希望能够创建一个视图并将其作为子视图添加到现有视图中 cocos2d 设置代码应该放在哪里以及 cocos2d 视图如何在 UIView 中可见 我已关注雷 文德利希教程 ht
  • Excel 工作簿输入时出现奇怪的错误

    对于当前代码 String currentPath Directory GetCurrentDirectory OpenFileDialog op new OpenFileDialog op InitialDirectory current
  • C# 错误提供程序不适用于组框和选项卡控件中的文本框

    我正在尝试使用错误提供程序来实现 以在继续执行之前验证我的文本框不为空 错误提供程序适用于主窗体上的文本框 但拒绝适用于组框或选项卡控件中的任何文本框或组合框 它不检查文本框 不显示错误或等待用户为正在检查的控件输入文本 选择项目 当然 如
  • 为什么双击单元格时下面的代码不会执行?

    下面的代码较早运行 但在双击单元格时不会执行 Private Sub Worksheet DoubleClick ByVal Target As range Cancel As Boolean If Target Font Bold Fal
  • 如何在 Android 中显示希腊字符?

    如何在 Android 中显示希腊字符 Android 具有完整的 Unicode 支持 显示希腊字符应该非常容易 在 strings xml 文件中 您可以使用希腊字符 这些字符将正确显示 当然 您需要以 UTF 8 格式保存文件
  • 名称 php 的表单验证,包括撇号、空格、连字符和句点

    我很难将正确的表达式组合在一起 因此它会拒绝除字母 句点 撇号 空格和连字符之外的所有内容 到目前为止 这适用于除撇号之外的所有内容 我尝试使用单 和双 来转义撇号 但无济于事 if preg match a zA Z POST name
  • 计算熊猫奇数比的更好方法

    我有一个数据框 counts1 如下所示 Factor w statin wo statin AgeGroups Cancer 0 5 No 108 6575 Yes 0 223 11 15 No 5 3669 Yes 1 143 16 2
  • 在活动映射 xml 中膨胀类片段时出错

    这个项目以前曾经运行过 运行应用程序时 我不断收到 InflateException 04 01 12 16 36 102 14895 14895 com example ali googleandroid E AndroidRuntime
  • 单击鼠标添加图像? Java小程序

    当鼠标单击时 如何在鼠标坐标上添加图像 我看过这个 将鼠标单击时的图像添加到 JPanel https stackoverflow com questions 19769061 adding images on mouse click to
  • 之间的区别:在 Intellij IDEA 中构建和制作

    对于Intellij IDEA中的JAVA EE项目 有什么区别 重建项目并创建项目 在菜单 构建 中 谢谢 您可以参考https www jetbrains com help idea 2016 2 compilation types h
  • MySql - Sequelize - 无法添加外键约束

    我正在尝试使用 Nodejs Sequelize 创建数据库 被调用的命令是 CREATE TABLE IF NOT EXISTS wheel id INTEGER NOT NULL auto increment createdAt DAT
  • Silverlight 绑定到布尔属性值的逆

    我想将控件可见性绑定到布尔属性值的倒数 我有一个属性 CanDownload 如果它是 true 那么我想隐藏文本框 反之亦然 我怎样才能实现这个目标 Thanks 被问到这样的问题so经常和答案so类似我认为是时候对所有 好吧可能是 大多