Dataform.EditTemplate Использовать строку отображения - PullRequest
1 голос
/ 23 июля 2010

Вот часть моей 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>

, вместо того, чтобы явно указывать метку «Капитальные затраты», я хотел бы использовать отображаемые данные в базовом типе

  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;
            }
        }

Описание хорошо перенесено в интерфейс, но я не совсем понимаю, что касается названия

Спасибо!

1 Ответ

0 голосов
/ 23 июля 2010

Вы должны определить IValueConverter, который принимает ваше свойство в качестве входных данных и возвращает значение DisplayAttribute. Здесь - пример, который делает нечто подобное, используя стандартный DisplayNameAttribute.

...