【发布时间】:2014-11-05 05:39:14
【问题描述】:
我成功创建了自己的 MarkupExtension,我将其命名为“GtringResource”,它运行良好,但在设计模式下却没有。
ProvideValue(IServieProvider ServiceProvider)中有如下代码:
public override object ProvideValue(IServiceProvider serviceProvider)
{
if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(new DependencyObject()))
{
return "design mode";
}
StaticResourceExtension staticResourceExtension = new StaticResourceExtension(this.GtringKey);
var gtringresource = staticResourceExtension.ProvideValue(serviceProvider) as Gtring;
return gtringresource.en;
}
我想返回应该在运行时出现的值,因为我从合并的字典中检索值,看起来像在 xaml 中:
<Button x:Name="downloadButton" Content="{intllectual:GtringResource downloadGtring}"/>
我试过了,但没有用:
/// ... when detect desingmode "IsDesingMode"
return ((Gtring)Application.Current.TryFindResource(GtringKey)).en;
/// ...
【问题讨论】:
标签: c# wpf xaml markup-extensions