有没有办法刷新 WPF 中的所有绑定?

2024-01-14

如果我的代码看起来有点像下面的代码,是否可以直接刷新所有绑定,或者我是否必须对所有绑定进行硬编码才能刷新?

服务端:

[ServiceContract]
public interface IMyServiceContract {
    [OperationContract]
    MyDataContract GetData();
}
[ServiceBehavior]
public class MyService {
    [OperationBehavior]
    public MyDataContract GetData() {
        MyDataContract data = new MyDataContract();
        data.val1 = "123";
        data.val2 = "456";
        return data;
    }
}
[DataContract]
public class MyDataContract {
    [DataMember]
    public string val1;
    public string val2;
}

客户端 xaml(省略命名空间样板代码):

<Window x:Class="MyWindow" DataContext="{Binding RelativeSource={RelativeSource Self}}" Title="{Binding Path=val1, Mode=OneWay}">
    <DockPanel>
        <TextBlock Text="{Binding Path=val1, Mode=OneWay}"/>
        <TextBlock Text="{Binding Path=val2, Mode=OneWay}"/>
    </DockPanel>
</Window>

客户端后台代码:

public partial class MyWindow {
    MyServiceClient client = new MyServiceClient();
    MyDataContract data;
    public string val1 {get{return data.val1;}}
    public string val2 {get{return data.val2;}}
    DispatcherTimer updateTimer = new DispatcherTimer();

    public MyWindow() {
        timer.Interval = new TimeSpan(0, 0, 10);
        timer.Tick += new EventHandler(Tick);
        Tick(this, null);
        timer.Start();
        InitializeComponent();
    }

    void Tick(object sender, EventArgs e) {
        data = client.GetData();
        // Refresh bindings
    }
}

请忽略示例代码中任何违反编码标准的情况,因为它只是作为预期用途的示例。


找到答案,似乎调用 PropertyChanged 并将 PropertyChangedEventArgs 属性名称设置为""刷新所有绑定。
DataContext 的更改也有效,尽管这感觉有点“干净”。

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

有没有办法刷新 WPF 中的所有绑定? 的相关文章

  • 比较 LINQ to SQL 中的两个日期

    我有一个数据库 其中有一个名为会议的表 会议日期使用以下格式存储在此表中 May 2nd 2011 例如 格式为5 2 2011 我的要求是获取两个日期 例如 2011 年 4 月 25 日和 2011 年 5 月 2 日 之间的会议 并编
  • & 运算符的含义是什么?

    在下面的代码中 Expression
  • Keyboard.Focus(item) 和 item.Focus() 有什么区别?

    在 WPF 中 有两种方法将焦点设置到元素 您可以调用输入元素的 Focus 方法 也可以使用输入元素作为参数调用 Keyboard Focus first way item Focus alternate way Keyboard Foc
  • 通过用于 Symbol 条码扫描仪 DS4208 的 SNAPI.dll API 捕获图像

    我想通过 SNAPI API 从 Symbol 目前为 Zebra 条形码扫描仪 DS4208 型号 我们还使用 Zebra 的另一个但兼容的型号 捕获图像 条形码捕获 识别效果很好 但看起来像SnapiDLL SNAPI SnapShot
  • boost::asio::io_service 是否保留处理程序的顺序?

    Does boost asio io service http www boost org doc libs release doc html boost asio reference io service html保证处理程序的调用顺序与
  • 我要恢复我的记忆!我怎样才能真正处理一个控件?

    我正在制作一个应用程序 它创建大量的窗口控件 按钮和标签等 它们都是通过函数动态生成的 我遇到的问题是 当我删除控件并处置它们时 它们不会从内存中删除 void loadALoadOfStuff while tabControlToClea
  • 修剪 UIImage 边框

    这是我想要修剪的图像的示例 我想去掉图像周围的边框 在本例中是顶部和底部的黑条 我在Github上找到了一个库 CKImageAdditions https github com cmkilger CKImageAdditions 但是它似
  • 为什么我不能从对中返回 unique_ptr?

    为什么我不能从对中返回 unique ptr include
  • 试图使用加密来混淆我的项目打破了它

    我试图尝试不同的混淆选项 为了做到这一点 我首先尝试了加密货币 以下是我遵循的步骤 打开加密向导并选择一些选项 选择我的解决方案文件 完成向导后 我看到有些 Dll 被很好地混淆了 但我的项目现在无法构建 我注意到的两件事是 我的文件夹中有
  • 从套接字读取 C HTTP

    我想知道如何判断是否已从套接字接收到所有数据 这是一个简单的网络代理 现在我正在处理请求部分 所以发送的内容应该以 r n r n 结尾 我不知道请求会持续多久 我在这里读过一些帖子 说我应该检查读取函数是否返回 0 但其他人说0只在客户端
  • 如何在Azure功能中添加razor视图文件?

    我正在创建一个应用程序 它是 azure 函数项目 我想在该项目中使用 Razor 视图 我应该在 azure 函数中使用任何模板引擎吗 得益于一些方面的进步剃刀之光项目 https github com toddams RazorLigh
  • ASP.NET中如何访问除wwwroot以外的位置

    我可以使用访问服务器的物理位置Server MapPath 这给了我内部的物理路径wwwroot文件夹 我想将一些数据保存到同一服务器的另一个驱动器中D 驾驶 我想我无法获取以下位置的物理位置D 驾驶使用Server MapPath因为它位
  • 修改正在运行的可执行文件的资源内容

    All 我将应用程序设置存储在资源中 当我的程序首次加载时 我使用 WinAPI 读取指定的资源 然后我解析检索到的字节数据 这对我来说完美无缺 现在假设用户更改了我的应用程序中的设置 他 她检查复选框控件 我想将更新的设置保存到我的资源中
  • 我可以在 C++ 中重写非虚函数吗

    我想知道我可以重写 C 中的非虚函数吗 因为我在使用 C 时发现了这个问题override关键字我的代码如下 class A public void say cout lt lt From A n class B public A publ
  • Nuget - 对象引用未设置为对象的实例

    我在 vs 2015 中遇到了 nuget 包管理器的问题 像Unity这样的一些包已经安装没有问题了 某些软件包 例如 EF 在安装时出现问题 像 Automapper 这样的一些软件包也有同样的问题 但是当我安装这个软件包的另一个版本时
  • 从视图模型调用方法的命令

    好吧 我倾向于避免使用命令 因为它们总是让我感到困惑 但我正在进行一个新项目 并且正在尝试正确构建它 并且在我看来没有任何代码隐藏 基本上我现在想做的就是连接一个按钮来触发一个命令 在我的视图模型上执行一些操作 但不知何故 如此简单的事情仍
  • #define 内存地址声明

    这个 define 语句有什么作用 它用于定义内存地址 但我不明白 uint32 t 部分 define GPxDAT uint32 t 0x6FC0 通常用于访问映射到地址空间的硬件寄存器 或者一些特定的内存地址 硬件寄存器应定义为vol
  • 使用非字符串作为字符串(而不是自动使用 ToString)时如何显示错误?

    建议的重复确实是一个类似的问题 然而 答案只涵盖一种选择 禁用 ToString 本身 还有其他可能的解决方案 例如让 Visual Studio 警告我 或者不调用 ToString 仔细阅读那里的答案 他认为is调用 只是解释说没有办法
  • Gridview 错误:对 Bind 的调用格式不正确

    我有以下 gridview 代码
  • C# 3.0 中自动属性和公共字段的区别

    我无法理解为什么 C 3 0 中存在自动实现的属性语言功能 当你说的时候有什么区别 public string FirstName than public string FirstName get set 因为它们在生成的 IL 代码 和机

随机推荐

  • Sequelize:销毁/删除表中的所有记录

    我正在使用 Mocha 进行单元测试 当测试开始时 我想删除表中所有以前的记录 我尝试过的 db User destroy force true then gt then gt done db User destroy where unde
  • R 如何在将 csv 文件写入磁盘之前估计其大小

    R 有什么方法可以在实际将 csv 文件写入磁盘之前估计其文件大小write csv or readr write csv 如果用户不小心尝试在函数中将大文件写入磁盘 我想实现警告 数据帧的内存占用之间似乎存在某种关系 object siz
  • 加载 R 包时如何分配可用的变量?

    我已经弄清楚如何制作一个包含一些我经常使用的调色板的包 我修改了代码this https drsimonj svbtle com creating corporate colour palettes for ggplot2博客文章以使其发挥
  • 在程序集中写入文件时出现问题

    我正在尝试用汇编语言编写一个简单的程序 在其中打开一个现有文件并在其中写入一条消息 这是我在数据段中定义的消息 当我想写入文件时会出现问题 在我尝试写入后 AX 寄存器将包含 5 诺顿专家指南称这是 拒绝访问 错误代码 关于我做错了什么有什
  • IronPython db-api 2.0

    有谁知道哪些 db api 2 0 驱动程序可以与 IronPython 配合使用 如果是这样 有人尝试过将它与 SQLAlchemy SQLObject 或 Django ORM 一起使用吗 我知道这是一个很晚的答案 但我今天才看到这个问
  • 如果请求参数不是 Spring MVC 中的 bean,如何验证请求参数?

    下面是我的 Spring MVC REST 服务中的 POST 端点 我想使用 spring 验证框架来确保我收到的列表不为空 我该怎么做 我必须向周围提供包装豆吗listOfLongs RequestMapping value some
  • 使用神经网络进行异或 (Matlab)

    所以 我希望这是我正在做的一件真正愚蠢的事情 并且有一个简单的答案 我正在尝试训练 2x3x1 神经网络来解决 XOR 问题 它不起作用 所以我决定深入了解发生了什么 最后 我决定自己分配权重 这是我想出的权重向量 theta1 11 0
  • 在 mac M1 芯片上构建 docker amd64 镜像

    我正在尝试以两种方式在我的 mac M1 arm64 上构建 dockerfile 下面是 dockerfile 的重要部分 FROM erlang 24 elixir expects utf8 ENV ELIXIR VERSION v1
  • MinGW 32“未定义对‘ExitProcess@4’的引用”

    出于学习目的 我编写了一个小型汇编程序 test asm global main extern ExitProcess 4 section text main mov ebx 0 push ebx call ExitProcess 4 比我
  • 保存并加载自定义 Tensorflow 模型(自回归 seq2seq 多元时间序列 GRU/RNN)

    我正在尝试实现一个自回归 seq 2 seq RNN 来预测时间序列数据 如本 TensorFlow 教程所示 https www tensorflow org tutorials structured data time series a
  • 如何使用 python 读取和写入表/矩阵到文件?

    我正在尝试创建一个程序 该程序获取数据并将其放入文本文件中仅包含数字的 2 x 10 表中 然后程序需要在以后的迭代中检索此信息 但我不知道该怎么做 我一直在研究 numty 命令 常规文件命令以及尝试制作表格的方法 但我似乎无法让这一切发
  • 如何将现有的 SOAP 请求消息导入到 SoapUI?

    我有一堆 XML 格式的 SOAP 请求消息 有没有办法将它们导入到 SoapUI 项目中 我想导入它们并将其作为 测试请求 测试步骤添加到现有测试用例中 一种简单且更自动的方法是使用 groovy 脚本从包含 xml 请求文件的目录自动创
  • 不保留函数依赖的分解

    BCNF 分解什么时候不能保留函数依赖性 我试图弄清楚 R V W X Y Z 取自数据库设计和关系理论 http shop oreilly com product 0636920025276 do R S J T S J gt T T g
  • Python Pandas - 将某些列类型更改为类别

    我已将以下 CSV 文件输入到 iPython Notebook 中 public pd read csv categories csv public 我还将 pandas 导入为 pd 将 numpy 导入为 np 将 matplotli
  • 如何通过属性获取枚举类型?

    我编写了一个枚举类 我想按类型获取属性或按属性获取类型 但这似乎不可能 public enum AreaCode area1 7927 area2 7928 area3 7929 private final int ac AreaCode
  • 尽管存在 OpenSessionInViewFilter,但出现 LazyInitializationException

    尽管在堆栈跟踪本身中看到了过滤器 但我似乎在 Spring MVC 3 0 Hibernate 3 5 应用程序中随机收到以下 LazyInitializationException 知道我应该调查什么吗 07 Jun 2011 13 48
  • 如何在javascript中替换对象数组中的对象(lodash)

    我有以下对象数组 var arr id a1 guid sdfsfd value abc status false id a2 guid sdfsfd value def status true 我有这个对象 var obj id a1 g
  • Hotelling 在 python 中的 T^2 分数

    我在 python 中使用 matplotlib 将 pca 应用于数据集 然而 matplotlib 并不像 Matlab 那样提供 t 平方分数 有没有办法像Matlab一样计算Hotelling的T 2分数 Thanks matplo
  • 在 Interface Builder 中为通用应用程序创建单个 .xib? (iOS)

    如果这是一个愚蠢的问题 我深表歉意 但我已经做了一些谷歌搜索并进行了搜索 但没有发现有人问这个确切的问题 我从事 iOS 开发已经有一段时间了 但我对 Interface Builder 完全陌生 我想知道的是 有没有办法只创建一个 xib
  • 有没有办法刷新 WPF 中的所有绑定?

    如果我的代码看起来有点像下面的代码 是否可以直接刷新所有绑定 或者我是否必须对所有绑定进行硬编码才能刷新 服务端 ServiceContract public interface IMyServiceContract OperationCo