问题标签 [markup-extensions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 从自定义 MarkupExtension 中获取 Style 的目标实例
我正在尝试MyMarkupExtension
在隐式样式中使用自定义:
是否有可能从方法中获取MenuItem
应用样式的对象或其 DataContext ProvideValue
?取自的值IProvideValueTarget.TargetObject
是 Setter。
c# - MarkupExtension:将简单属性转换为 DependencyProperty
我正在使用 WPFLocalizationExtension (在CodePlex上可用)来本地化我的 WPF 应用程序中的字符串。这个简单的 MarkupExtension 在像这样的简单场景中效果很好:
但是一旦我尝试了一些更复杂的事情,我就陷入了困境:
(有资源windowTitle = "MyApp v{0}"
)。
由于 FormatSegment1 是一个普通的 INotifyPropertyChange 属性,我无法将任何东西绑定到它。如果 FormatSegment1 是一个 DependencyProperty 是可能的,所以我下载了源代码并尝试修补它们。
我修改了
该类BaseLocalizeExtension
继承自MarkupExtension
:
当我构建时,我得到了通常的"GetValue/SetValue does not exist in current context"
错误。我试图让BaseLocalizeExtension
类继承自,DependencyObject
但我得到了大量的错误。
有没有办法在 MarkupExtension 中使用 xaml 可绑定的 DependencyProperty(或可绑定的东西)?
谢谢你的提示
silverlight-5.0 - 如何从 SL5 中的标记扩展更新目标对象?
我正在 Silverlight 5 的标记扩展中尝试此代码。
depObj 似乎提供正确,但 depProp 似乎不是 DependencyProperty 类型(类型是 Sytem.String(System.Reflection.PropertyInfo))。强制转换结果为 null。
depProp 代表正确的 Text 或 Content 属性,但如果没有它是 DependencyProperty,我无法设置它的值。
非常感谢任何输入。
西科
silverlight - 具有 DependencyProperties 的 IMarkupExtension
我正在尝试使用IMarkupExtension<T>
具有一些 DependencyProperties 进行绑定的自定义标记扩展。但是,我正在努力解决在 XAML 解析时解决标记扩展的问题,以及稍后才解决绑定的问题。我似乎从来没有通过绑定得到任何东西:它们总是为空并且从不调用它们的更改回调。
文档提到了一些关于返回标记扩展实例的内容(在“返回当前标记扩展实例”下),但这似乎使事情爆炸,因为它是目标的错误类型。这个 SL5 MultiBinding似乎将代理绑定返回到内部源对象,但我无法让它工作:我的绑定仍然没有设置。
我似乎找不到任何可靠的信息如何使用 DependencyProperties 实际实现标记扩展(尽管看起来很多人对 SL5 感到兴奋......)。任何人都可以提供任何指导或教程吗?
具体来说,我想要做的是创建一个标记扩展,它可以动态构造一个路径来绑定到一个列表,如下所示:
我希望它基本上输出一个看起来像的 Binding {Binding List[Index]}
,其中 Index 是动态的。这样做的目的是对列表和索引上的 MultiBinding 进行此操作,以便我们直接绑定到对象并获得更改通知。(如果有更好的方法来做到这一点......)
wpf - 如何使用动态修改的系统颜色?
我有一个极端情况,其中动态资源(不允许转换器)和自定义标记扩展(仅评估一次)都无法解决问题。我想根据当前系统颜色的褪色变体创建渐变画笔。每当系统的颜色主题发生变化时,这些画笔都会自行更新,以便用户在切换到辅助功能主题时无需重新启动应用程序。
是否可以在 WPF 应用程序中在运行时检测系统颜色主题的变化?某种事件?
wpf - 如何调试 Visual Studio 2012 实例设计时
我正在开发 WPF MarkupExtension 并在设计时遇到错误。使用 Visual Studio 2010 的早期版本,可以启动 Visual Studio 2010 的第二个实例并附加到已运行实例的进程,设置断点和调试设计时行为。
但是,在 Visual Studio 2012 中,我也可以附加到另一个 Visual Studio 2012 的进程,但是在第二个实例中没有加载任何符号,因此我无法像使用 Visual Studio 2010 那样调试设计时间。
如何让这个调试器运行?
我尝试过的事情:
- “devenv.exe /RootSuffix Exp”技巧没有成功
- 始终以管理员身份执行
- 加载所有或默认符号
- 使用和不使用本机代码进行调试(附加进程)
- 使用和不使用 .NET 4 代码进行调试(附加进程)
c# - 动态枚举转换器
我想为我的应用程序中的所有可能的枚举创建一个动态的 2 路转换器。
我不想为每个枚举创建一个转换器,我想创建一个转换器,提供从枚举到字节的转换以及从字节到枚举的转换,反之亦然。
我要怎么去那儿?我的方法已经是 2-way 但需要在代码中进行静态转换(MyEnum):
c# - 在 WPF 中使用 StaticResource 作为 MarkupExtension 的参数会导致 NullReferenceException
即使将问题简化为最少的代码,我仍然无法理解可能导致NullReferenceException
.
创建新的WPF 应用程序“MarkupExtParam”。替换代码:
MainWindow.xaml:
MainWindow.xaml.cs:
当我运行应用程序时,会引发以下异常:
如果我不使用 DataTemplate 并放在<TextBlock Text="{my:Ext {StaticResource foo}}"/>
外面,一切正常。
我尝试使用 .NET Reflector 生成的 PDB 进行调试(公共资源似乎不包含任何内部类),但没有成功,因为 Reflector 无法为高度优化的程序集生成正确的 PDB,因此断点不起作用,大多数变量并且参数不可用等。我了解 XAML 解析器尝试将 StaticResourceHolder(StaticResourceExtension 的子类)分配给 Foo 并失败(但不明白为什么会发生)。
问题:如何解决问题?也许我只是做错了什么?
c# - 标记转换器 WPF 到 ASP.NET
我在 WPF 中使用 MarkupConverters 将枚举值解析为人类可读的字符串。
ASP.NET 和 ASP.NET GridView 或 DevExpress ASPxGridView 有没有办法在 WPF 中做同样的事情?
ASP.NET 中类似的东西(来自 WPF):
html - 仅将 HTML 发送到没有 css、js 等的爬虫/机器人?它会导致负面排名谷歌吗?
今天,一些爬虫通过了我的网站,并试图访问几个 css、js、图像和其他文件。这也是一个聪明的方法,它也解释了 javascript 并希望执行一个在 javascript 代码中组装(并且只知道)的 url!这让我很担心分配。
尽管我在网站上的代码检测到了这种奇怪的行为并向我发送了三封关于它的电子邮件(这是我过去制作的一个拦截器类,它运行良好并阻止了进一步的访问(在攻击者停止三次攻击后),我希望最大限度地消除这些坏人,以减少网络流量、保护服务和花在这个 b*llsh*t 上的时间。
所以我只是在想,将剥离的 html 文件内容(没有表单、css 和 js 声明)发送到机器人/爬虫,但它不能影响好的内容。这背后的想法是爬虫不需要标记的东西,只有内容很重要,对吧?只有坏人会尝试访问对排名不重要的文件....但是当它不存在时,没有什么可担心的。所以我的问题是:
这样做是否安全,我的意思是,谷歌不会“认为”你伪造内容吗?为爬虫移除部分与原始内容略有不同。
有没有人有这方面的经验?
PS:对我来说,这很容易实现,因为我的模板系统可以使用用户代理/设备特定条件来服务例如另一个标记或设置。为了让您了解它是如何工作的,这里是一个手持设备的示例:
这是我想实现的一个例子: