如何使用 C# xaml 以编程方式设置数据绑定

2024-03-18

如何以编程方式设置 DataContext 并在 C# Xaml 中创建数据绑定?

给定一个类

class Boat : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    internal void OnPropertyChanged(String info)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
        {
            handler(this, new PropertyChangedEventArgs(info));
        }
    }

    private int width;
    public int Width
    {
        get { return this.width; }
        set {
            this.width = value; 
            OnPropertyChanged("Width");
        }            
    }
}

我正在尝试使用数据绑定以编程方式设置 Xaml 矩形的宽度。

Boat theBoat = new Boat();
this.UI_Boat.DataContext = this.theBoat;
this.UI_Boat.SetBinding(Rectangle.WidthProperty, this.theBoat.Width);//Incorrect
this.UI_Boat.SetBinding(Rectangle.WidthProperty, "Width");           //Incorrect

Xaml 看起来与此类似:

<Rectangle x:Name="UI_Boat" Fill="#FFF4F4F5" HorizontalAlignment="Center" Height="100" Stroke="Black" VerticalAlignment="Center" Width="{Binding}"/>

 this.UI_Boat.SetBinding(Rectangle.WidthProperty, new Binding()
            {
                Path = "Width",
                Source = theBoat
            });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 C# xaml 以编程方式设置数据绑定 的相关文章

随机推荐

  • 如何在不使用任何 gem 或插件的情况下创建当前用户方法?

    我知道这是一个愚蠢的方法 但我想知道我们如何创建一个 current user 方法来在不使用任何 gem 或插件的情况下访问整个应用程序 为了测试它 我创建了一个应用程序 使用户能够共享文件和文件夹 如何创建用户只能访问他的文件夹和文件的
  • 如何在 Firebase 存储中搜索文件?

    据我所知 我们可以为存储在 Firebase 存储中的文件设置元数据 我们可以根据元数据搜索 过滤 Firebase 存储中的文件吗 您可以通过 Google 云存储浏览器执行此操作 https console cloud google c
  • 如何在mysql中自定义“show processlist”?

    我想按时间订购 但似乎没有办法做到这一点 mysql gt show processlist Id User Host db Command Time State
  • 具有 n 个元素的数组的子集 javascript

    我正在尝试编写一个函数 它将接受一个数组和 n 作为参数 它将返回包含 n 个元素的数组的所有子集 已经尝试了一些方法 但尚未成功 感谢把它放在这里的人 这个函数太复杂了 不能完成工作 基本上我在这里尝试做的是从 4 元素数组中挑选一个元素
  • 查找Excel工作表中填充内容的范围

    我有一个 Excel 2016Book xlsm 在工作表中testsheet 范围内的单元格A1 Y150填充文本或数字内容 左上角的单元格始终是A1 我正在使用 python v3 xlwings 打开 Excel 文件 import
  • TButton的缺陷

    Delphi XE2 中的 TButton 有一个Style财产 当该属性设置为bsSplitButton然后按钮右侧会显示一个下拉箭头 然而 这个下拉区域有一些不便 很多情况下它太窄了 下拉区域的静态宽度只有11个像素 当鼠标指针悬停在下
  • 如何调整jsf2 primefaces中选项卡的宽度和高度?

    如何调整 jsf 2 primefaces 中选项卡的宽度和高度 另请告诉我如何控制选项卡内的文本 颜色和字体大小 谢谢 PrimeFaces 使用 ThemeRoller CSS 框架 前往jQuery UI ThemeRoller 页面
  • 如何在 Azure VM 中使用公共静态 IP

    在花了几个小时尝试每个相关的 Azure Power Shell 命令来将虚拟公共 IP 分配给 Azure VM 后 我又回到了原点 令人惊奇的是 这样的基本功能在Azure中却无法完成 首先 我保留了一个静态IP 然后创建一个虚拟机 然
  • Swift:“后台会话不支持完成处理程序块。请改为使用代表。

    我是 Swift 新手 因此经验不是很丰富 我不知道为什么这不起作用 我正在尝试下载音乐文件 然后将其发送到 AVAudoPlayer 进行播放 这是代码 IBAction func startDownload sender Any wea
  • PHP 将所有 url 转换为 html 链接 [重复]

    这个问题在这里已经有答案了 可能的重复 将文本中的 URL 替换为 HTML 链接 https stackoverflow com questions 1188129 replace urls in text with html links
  • Python 和 PyQt 中的线程错误

    我注意到当函数setModel http doc trolltech com 4 0 qabstractitemview html setModel在并行线程中执行 我尝试了 threading Timer 或 threading thre
  • 修复对 CherryPy 的 GET 请求中的 404:缺少参数错误

    我正在为服务器端使用 CherryPy 在客户端使用 HTML CSS 和 jQuery 制作一个网页 我还使用 mySQL 数据库 我有一个供用户注册该网站的工作表单 创建用户名和密码 我使用 jQuery 向 CherryPy 发送 A
  • 如果我添加/删除/更新可靠集合的元素,休眠会增加版本吗?

    我正在学习休眠乐观锁机制 但我还没有找到我的问题的答案用户指南 https docs jboss org hibernate orm 6 0 userguide html single Hibernate User Guide html l
  • Powershell 按 [DateTime]::ParseExact 排序对象

    我正在尝试使用 PowerShell 按日期对控制台程序返回的行进行排序 日期的格式为 MM dd yyyy 格式 因此必须将它们转换为 DateTime 对象才能采用可排序的格式 为了解析日期 我使用 dates 10 24 2010 0
  • 控制器的 Angular 中的 Jasmine 测试

    我收到以下错误 TypeError undefined is not a function问题是公共的是模块和工厂 问题出在我的线上 var ctrl controllerConstructor resetPasswordSentScree
  • 有没有办法从 MongoDB 检索没有 _id 字段的数据?

    我在我们的项目中使用 MongoDB 目前正在学习它是如何工作的 当插入记录时 MongoDB自动生成ID 查询数据时 总是返回 id 当我们将 Bson Json 反序列化为 out 对象时 这会产生一个问题 因为我们的类型没有该字段 而
  • 使用 C# 在 asp.net 中排序列表和下拉列表

    我有一个返回排序列表的方法 我想将其数据源到下拉列表 我在用 DropDownList1 DataSource stList DropDownList1 DataValueField stList ContainsValue DropDow
  • Haskell:针对 Hackage 的多个版本的基础测试包

    我正在尝试将我的第一个包上传到 Hackage 耶 但出现以下错误 依赖项 build depends base 未指定版本号的上限 基础 包的每个主要版本都会以各种方式更改 API 并且大多数包都需要进行一些更改才能与其一起编译 推荐的做
  • Flutter更新BottomNavigationBar

    我将 BottomNavigationBar 与 TabController 一起使用 通过单击 BottomNavigationBar 的不同选项卡 TabView 会更改内容 但是 如果我在 TabView 上滑动以切换到另一个视图 选
  • 如何使用 C# xaml 以编程方式设置数据绑定

    如何以编程方式设置 DataContext 并在 C Xaml 中创建数据绑定 给定一个类 class Boat INotifyPropertyChanged public event PropertyChangedEventHandler