我正在创建一个继承自XamlCompositionBrushBase的类,并希望知道刷子在OnConnected
中连接时附加的视觉的渲染大小。< / p>
我需要这些信息在我的合成中创建一个与我的视觉大小相同的表面,以便不仅具有正确的像素密度,而且还可以从视觉坐标映射到表面的空间。
即。如果我有一个坐标 50,75 ,我需要知道视觉的宽度/高度,以便将表面位置映射到视觉上的那个位置。
由于画笔是一个依赖项对象,我尝试使用var parent = VisualTreeHelper.GetParent(this);
但是引发了异常:
发生System.Exception HResult = 0x8000FFFF
消息=灾难性故障(HRESULT异常:0x8000FFFF (E_UNEXPECTED))
源=
如果不在父UIElement上使用附加属性,是否可以这样做?
由于
答案 0 :(得分:0)
你不能 - 因为画笔可以同时连接到多个视觉效果,实际上并不存在“大小”的概念。好吧,不管怎样,不是在UWP的XAML顶层。
由于画笔可以在资源词典中使用,因此可以在多个地方以相同的实例应用,每个地方都有不同的视觉尺寸,你真的不想破解你的方式,因为你几乎肯定会破坏任何用法资源词典中的画笔。
(是的,令人沮丧。)