问题标签 [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.

0 投票
1 回答
1123 浏览

c# - 如何使用非字符串参数创建 MarkupExtension?

我正在 WPF 应用程序中处理自定义 MarkupExtension。我看到的每个文档示例都使用 XAML 中的字符串参数来构造新对象。是否可以使用非字符串参数?

换句话说,我怎么能做这样的事情?

0 投票
4 回答
2263 浏览

wpf - WPF/Silverlight 中的标记扩展

有没有人在 WPF 或 Silverlight 中创建过自定义标记扩展?您什么时候想要或需要这样做?关于如何做到这一点的任何提示或来源?

0 投票
2 回答
948 浏览

wpf - MarkupExtension 作为模板中的计算属性

有这样的 MarkupExtension

和这个 XAML

我得到这样的清单:

现在我尝试使用此样式生成相同的列表

并且有了这样的 XAML

我明白了

所以 {my:Extension1} 只评估了一次。我可以创建一个将为每个项目评估的计算属性吗?

0 投票
2 回答
7357 浏览

c# - 如何解析 MarkupExtension 中数据绑定的值?

我制作了一个标记扩展,用于基于键翻译字符串。例子

现在我希望能够使用嵌套绑定来提供我的密钥。例子:

当我这样做时,我得到一个 System.Windows.Data.Binding 对象。通过调用 ProvideValue 并传递 ServiceProvider,我可以获得一个 BindingExpression:

我可以得到这个 bindingExpression,但 DataItem 属性为空。我已经像这样测试了我的绑定

它工作正常。

有任何想法吗?

0 投票
4 回答
9964 浏览

.net - 如何在 XAML 标记扩展属性文字中转义单引号?

我有一个格式化数字的值转换器(不幸的是我还不能使用 SP1)。它工作正常,直到它得到一个百分比。

这是一个例子:

不幸的是,当我Double.ToString看到一个百分比字符时,它会将数字乘以 100。在我的情况下,这个数字已经是一个百分比,不需要转换。

在 C# 中,这可以通过%用单引号转义字符来实现:

不幸的是,我不能ConverterParameter在上面的 XAML 标记扩展中使用单引号。有没有办法逃脱它?我尝试将单引号加倍并使用反斜杠,但都无法编译。

0 投票
3 回答
3216 浏览

wpf - MarkupExtension 中的 DepedencyProperty

是否可以DependencyPropertyMarkupExtension派生类中有一个?

以下代码段中使用了该扩展。

甚至可以构建这样的扩展还是我只是在吠叫错误的树?(上面的代码不会编译和运行,但我在这里发布它以最好地说明问题)。

0 投票
1 回答
669 浏览

jquery - jQuery:创建文本气球的小部件或插件

我需要创建一些包含文本消息的气球,类似于您在 BBS 或博客评论区看到的气球。

不是在寻找工具提示小部件 - 每页会有几个,它们将始终显示。

我的要求:

  • 如果可能的话,使用图像而不是box-shadow与 IE 兼容的样式来放置阴影。

  • 视觉锚钉或箭头指向原始源。

  • 大小适合内容。

  • 可以包含标记。我需要在气球上有按钮。

  • 理想情况下将通过.addClass或类似方式应用。

0 投票
2 回答
6818 浏览

c# - 获取 WPF 绑定的值

好的,我不想在我的 MVVM ViewModels 中有一堆 ICommand,所以我决定为 WPF 创建一个 MarkupExtension,你给它一个字符串(方法的名称),它会给你一个执行方法的 ICommand。

这是一个片段:

它工作得很好,除非绑定失败(例如你输入错误)。

当您在 xaml 中执行此操作时: {Binding MyPropertyName}只要绑定失败,您就会在输出窗口中看到。它会告诉您 propertyName 类型名称等。

MethodConverter 类可以告诉您失败的方法的名称,但不能告诉您源对象类型。因为该值将为空。

我不知道如何存储源对象类型,所以对于以下类

和以下xaml:

它目前说:

但我想说:

有任何想法吗?

0 投票
1 回答
978 浏览

visual-studio-2010 - VS2010 自定义标记扩展

我们刚刚从vs2008切换到vs2010,我们的项目编译运行良好,没有任何问题。但是,xaml 设计器有一些错误。这是错误之一,希望有人可以提供解决方案。

我们有一个自定义的 MarkupExtension,我们在 xaml 中使用它来获取某些资源。像这样的东西:

<Button Style="{l:GetResource Key=MyButtonStyle}" />

我知道我们可以使用 StaticResource 或 DynamicResource。但是,我们有理由使用自定义标记扩展。

设计师的错误信息是:

“GetResourceExtension”对 Setter.Value 无效。唯一受支持的 MarkupExtension 类型是DynamicResourceExtensionBindingBase或派生类型。

我的问题是代码在vs2008中运行良好,在2010中也运行良好,如何让2010设计器工作?

0 投票
1 回答
2488 浏览

c# - 从 WPF 自定义 MarkupExtension 访问“当前类”

我正在尝试编写一个自定义MarkupExtension,通过为我提供一种在 XAML 中指定绑定的更好方法来让我的生活更轻松。但是我想知道是否有任何方法可以访问代表所MarkupExtension使用文件的对象。

换句话说,假设我有一个UserControl定义我的程序的数据模型的特定再现。这个控件有很多视觉的东西,比如网格、边框和总体布局。如果我MarkupExtension在 this 中的某个元素的特定属性上使用 my UserControl,我想访问 的实例UserControl,而不知道它是什么类型(我打算使用反射)。

这是可能吗?