2017-10-16 50 views
5

Bir harita döşemesi ayarım var. Serbest bırakılan yapılarda sadece bir hata yaptığım garip bir durum var. kod aşağıdaki gibidir:Özel ayarlayıcı sadece açma derlemesinde hata atıyor

Görünüm-Model

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

Görünüm

<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> 
Bu benim geliştirici ortamında tüm çalışan iyiydi

ama sürüm derlemesi oluşturulan zaman başlamıştı aşağıdaki gibi:

Hata

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

Basit çözüm, yukarıda SelectedTile özelliğinde set için private set değiştirin.

Peki bu nasıl hata ayıklama sırasında ve yalnızca sürüm sırasında hata atmadı? Bunun hata ayıklama modunda nasıl çalıştığını göremiyorum.

+0

Sadece kendimle karşılaştım. Benim için sorun, uygulamanın hata ayıklama veya serbest bırakma modunda oluşturulmuş olmasından ziyade, bir hata ayıklayıcının sürece eklenip eklenmediğine karar vermekti. –

cevap

İlgili konular