2014-11-03 3 views

ответ

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> 
Смежные вопросы