如何在MarkupExtension的DesignTime中获取静态资源值
本文关键字:获取 静态 资源 DesignTime MarkupExtension | 更新日期: 2023-09-27 18:01:00
我成功创建了自己的MarkupExtension,我将其命名为"GtringResource",它运行良好,但在设计模式下没有。
我在ProviderValue(IServieProviderServiceProvider(中有以下代码:
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;
/// ...
尝试:
public class ResourceExtension : StaticExtension