Как предотвратить рендеринг свойства базового класса в DataForm? - PullRequest
0 голосов
/ 01 сентября 2010

Прошу прощения за этот вопрос новичка, но я использую Silverlight и MVVM Light. Я создал представление под названием MyView.xaml и соответствующий MyViewModel.cs.

MyView.xaml

<navigation:Page x:Class="Dashboard.Views.MyView" 
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
       xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
       xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
       xmlns:vm="clr-namespace:Dashboard.ViewModels"
       xmlns:controls="clr-namespace:Dashboard.Controls"
       mc:Ignorable="d"
       xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
       d:DesignWidth="640" d:DesignHeight="480"
       Title="MyView Page" xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit">

<navigation:Page.Resources>
    <vm:MyViewModel x:Key="MyViewModel" />
</navigation:Page.Resources>

<navigation:Page.DataContext>
    <Binding Source="{StaticResource MyViewModel}"/>
</navigation:Page.DataContext>

<Grid x:Name="LayoutRoot">
    <StackPanel Orientation="Vertical" Style="{StaticResource LoginControlsStackPanelStyle}" HorizontalAlignment="Center" VerticalAlignment="Center">
        <toolkit:DataForm Name="dataForm1" CurrentItem="{Binding}"/>
    </StackPanel>
</Grid>

MyViewModel.cs

namespace Dashboard.ViewModels
{
    public class MyViewModel : ViewModelBase
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }
}

Когда я запускаю проект, моя форма отображает свойство IsInDesignMode. Я явно не хочу этого. Как можно предотвратить отображение свойства базового класса в форме данных?

Спасибо.

Andrew

1 Ответ

0 голосов
/ 03 сентября 2010

Если вы хотите запретить показ только одного поля, вы можете подписаться на событие AutoGeneratingField и установить для флага отмены на аргументах событий значение true.Если вы хотите реализовать свой собственный макет, вы можете установить флаг AutoGeneratingFields в false и предоставить свои собственные шаблоны.

...