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.
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. –