获取的自定义窗口对象,如果获取属性?

使用问题 · 491 次浏览
王文铖 创建于 2024-08-24 16:37

 

获取窗口列表目前没有写操作文档,我已经获取了自定义窗口对象的列表,想要取得窗口对象的坐标位置信息等属性,应该怎么实现?


回复内容
CL 2024-08-25 09:34
#1

这个确实没弄过,窗口对象主要是为了方便控制窗口的关闭、位置之类用的。

一个可能的方案是通过DataContext属性访问,这个属性的类型为 IDictionary<string,object>,用来保存映射的数据。可以尝试一下。

大概的代码为:

(win.DataContext as IDictionary<string,object>)["数据key"]

王文铖 回复 CL 2024-08-25 10:52 :

https://getquicker.net/Sharedaction?code=465c1e84-7893-4ba0-0b75-08dcc40d7cd7

比如这个动作连续三个提示消息会重叠覆盖,我想要实现往上堆叠的效果,通过获取上一个提示消息的坐标,加上一定偏移,来确定当前提示消息的坐标位置



CL 回复 王文铖 2024-08-25 11:03 :

这个需求常见的做法是做一个父窗口,然后每个通知是列表里的一项,使用定时器之类的方式增加删除并且结合动画(有点复杂,没有详细学习过)。

有兴趣的话可以参考下HandyControl里的Growl控件。

王文铖 回复 CL 2024-08-25 11:24 :

那默认模块-提示消息 的自动向上堆叠是怎么实现的呢



CL 回复 王文铖 2024-08-25 11:57 :

也是一样的方式,这个更复杂,参考 https://github.com/rafallopatka/ToastNotifications 

回复主贴