通过xaml代码访问环境变量

时间:2014-11-03 09:20:36

标签: wpf xaml environment-variables

有可能通过xaml代码以某种方式访问​​环境变量吗? 就我而言,我只需要读访问权。

1 个答案:

答案 0 :(得分:2)

您可以编写自定义标记扩展名。类似的东西:

[MarkupExtensionReturnType(typeof(String))]
public class EnvironmentVarExtension : MarkupExtension
{
    private string _variableName;

    public EnvironmentVarExtension(string variableName)
    {
        _variableName = variableName;
    }

    public override object ProvideValue(IServiceProvider serviceProvider)
    {
        return Environment.GetEnvironmentVariable(VariableName);
    }

    [ConstructorArgument("variableName")]
    public string VariableName
    {
        get { return _variableName; }
        set { _variableName = value; }
    }
}

并在你的XAML中使用它:

<Grid>
    <TextBlock Text="{local:EnvironmentVar Path}" />
</Grid>