sách gpt4 ai đã đi

c# - WPF 强制 xaml 重新获取属性的值,尽管属性的 setter 没有更改

In lại 作者:行者123 更新时间:2023-12-02 02:38:09 30 4
mua khóa gpt4 Nike

我正在工作中修改现有的 WPF 项目(我没有太多 WPF 经验),并且我有以下属性:

public Point WidgetMiddlePoint
{
lấy
{
return new PointByAppMonitorDPI(_middlePoint);
//return _middlePoint;
}
}

在 UI 端:







TipOffsetPositionConverter 根据给定的参数执行一些计算。
我的问题是 WidgetMiddlePoint 值取决于应用程序所在监视器的 DPI(DPI 与我的问题无关,它只是仅在调用 getter 时才考虑的因素的用例)。
因此,UI 会从 getter 获取值,并且不会刷新该值,除非我使用 setter 将其设置为其他值,然后“通知”。

如何将 UI 配置为每次都重新获取值,即使它“认为”属性的值没有更改?或者这是不好的做法并且不推荐?

1 Câu trả lời

如果您希望框架调用您的 getter,进而调用您的转换器,您应该实现 INotifyPropertyChanged并在 View 模型中引发 Thuộc tính đã thay đổi 事件。

您需要以某种方式确定 DPI 何时发生变化,然后引发事件。仅当框架收到任何数据绑定(bind)属性(在本例中为 WidgetMiddlePointActualWidth)更改的通知时,才会调用 Convert 方法)。

关于c# - WPF 强制 xaml 重新获取属性的值,尽管属性的 setter 没有更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64026114/

30 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com