Pergunta

Aqui está uma parte do meu DataForm

<Grid x:Name="LayoutRoot" Background="White">
    <df:DataForm x:Name="df1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" CurrentItem="{StaticResource descriptor}" CommandButtonsVisibility="All" AutoGenerateFields="False" >
        <df:DataForm.EditTemplate>
            <DataTemplate>
                <StackPanel>
                          <df:DataField Label="Capital Cost" >
                        <TextBox Text="{Binding CapitalCost, Mode=TwoWay}" ></TextBox>
                    </df:DataField>

em vez de especificar explicitamente o rótulo "Custo de capital", gostaria de usar os dados de exibição que tenho no tipo subjacente

  public class Descriptor     
    {
        [Display(Name = "Capital Cost:", Description = "The negotiated price of the car")]
        public double CapitalCost
        {
            get
            {
                return _CapitalCost;
            }
            set
            {
                if (value > UsMsrp)
                    throw new ArgumentException("Capital Cost must be equal or less than US MSRP");
                _CapitalCost = value;
            }
        }

A descrição é transportada muito bem para a interface, mas estou confuso no que diz respeito ao nome

Obrigado!

Foi útil?

Solução

Você deve definir um IValueConverter que receba sua propriedade como entrada e retorne o valor de DisplayAttribute. Aqui é um exemplo que faz algo semelhante usando o DisplayNameAttribute padrão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top