Привязать одну сущность RIA в поле зрения - PullRequest
0 голосов
/ 16 января 2012

Я не могу понять, почему это работает (привязывает одну машину к RadDataForm):

XAML:

<tk:RadDataForm ItemsSource="{Binding Path=Cars}"
    AutoGenerateFields="True" DataContext="{Binding}" />

ViewModel:

public void OnNavigatedTo(NavigationContext navigationContext)
{
    carId = int.Parse(navigationContext.Parameters["IdRecord"]);
    Cars= _carContext.GetCarById(carId);
}

private IEnumerable<Car> cars;
public IEnumerable<Car> Cars
{
    get { return this.cars; }
    set
    {
        if (this.cars!= value)
        {
            this.cars= value;
            this.RaisePropertyChanged(() => this.Cars);
        }
    }
}

а это не :

XAML:

<tk:RadDataForm CurrentItem="{Binding Path=CurrentCar}"
    AutoGenerateFields="True" DataContext="{Binding}" />

ViewModel:

public void OnNavigatedTo(NavigationContext navigationContext)
{
    carId = int.Parse(navigationContext.Parameters["IdRecord"]);
    CurrentCar= _carContext.GetCarById(carId).FirstOrDefault();
}

private Car currentCar;
public Car CurrentCar
{
    get { return this.currentCar; }
    set
    {
        if (this.currentCar!= value)
        {
            this.currentCar= value;
            this.RaisePropertyChanged(() => this.CurrentCar);
        }
    }
}

Я не хочу IEnumerable <>, потому что я хочу получить одну сущность. И, кстати, я хочу понять, что происходит не так ...

1 Ответ

0 голосов
/ 16 января 2012

При привязке к одному объекту вы должны использовать CurrentItem вместо ItemsSource.

...