Ключевое слово из сеттера, чтобы исправить проблему.

я есть настройка тайла карты, который я обновляю с помощью кнопки меню. У меня возникла странная ситуация, когда я только нажимал на ошибку при сборке релиза. Код выглядит следующим образом:

View-модель

private KnownTileSource _selectedTile;
public KnownTileSource SelectedTile
{
    get { return _selectedTile; }
    private set
    {
        _selectedTile = value;
        ...
        OnPropertyChanged("SelectedTile");
    }
}

Посмотреть

<Window ...
 xmlns:predefined="clr-namespace:BruTile.Predefined;assembly=BruTile">
...
    <MenuItem Header="_Bing Aerial" Command="{Binding ChangeTileCommand}" CommandParameter="{x:Static predefined:KnownTileSource.BingAerial}" IsChecked="{Binding Path=SelectedTile, Mode=TwoWay, Converter={local:EnumToBooleanConverter}, ConverterParameter=BingAerial}"/>
...
</Window>

Это все работало нормально в моей среде разработчика, но когда я сгенерировал сборку релиза, я получил следующее:

ошибка

System.InvalidOperationException: A TwoWay or OneWay ToSource binding cannot work on the read-only property 'SelectedTile'...

Простое решение, изменениеprivate set вset в вышеSelectedTile свойство.

Так почему же это не выдает ошибку во время отладки, а только во время выпуска? Я не вижу, как это работало в режиме отладки.

Ответы на вопрос(1)

Ваш ответ на вопрос