C# 在UI线程外读取附加属性的内容
上下文 我有一个复杂的WPF应用程序,我正在构建一个工具系统,旨在清理XAML文件,并确保它们尊重样式和本地化的业务规则。为此,我正在加载适当的依赖项C# 在UI线程外读取附加属性的内容,c#,wpf,dependency-properties,C#,Wpf,Dependency Properties,上下文 我有一个复杂的WPF应用程序,我正在构建一个工具系统,旨在清理XAML文件,并确保它们尊重样式和本地化的业务规则。为此,我正在加载适当的依赖项 Assembly.LoadFrom(Path.Combine(assemblieLocation, "SomeAssembly" + ".dll")); 加载后,我通过反射创建适当的实例 (UIElement)Activator.CreateInstance(typeToInstantiate, true); 问题 我面临的问题是,我必须能够
Assembly.LoadFrom(Path.Combine(assemblieLocation, "SomeAssembly" + ".dll"));
加载后,我通过反射创建适当的实例
(UIElement)Activator.CreateInstance(typeToInstantiate, true);
问题
我面临的问题是,我必须能够从一个网站上阅读内容。在我现在所处的上下文中,WPF应用程序使用TextBlock的Text属性或内部定义的自定义依赖项属性。知道依赖项属性必须定义Get/Set对才能访问属性的内容,并确保CLR能够确保自定义属性与直接来自.NET或lib的属性之间存在差异,这就是我所采用的方法
if(uiElemetInstance is TextBlock tBlock && !string.IsNullOrEmpty(CustomClass.GetText(tBlock))
我在这里遇到的问题是在运行时,即使在XAML文件中,文本是用一个值定义的,但我的系统可以毫无问题地实例化TextBlock,但无法看到Text属性的内容;它仍然是一个空字符串,我不明白为什么会这样
可重复的步骤
必需元素
这里有一个指向my的链接,其中包含本期的所有要求。为什么不这样做<代码>!string.IsNullOrEmpty(tBlock.Text)
tBlock.Text
将为您获取Text
属性的当前值(如果您需要的话)。我没有提到,即使UI元素的Text属性在XAML文件@mm8中定义得很好,但它仍然是空字符串(我将更新我的问题,以便其他人知道),它返回一个空字符串,这意味着它没有被设置为任何其他值。@mm8在我当前分析的XAML文件中,在TextBlock的定义中,Text属性是通过内部定义的类定义的。如果您希望有人能够帮助您,您应该包括问题的可复制样本: