저는 Silverlight를 처음 사용하고 있으며 데이터 바인딩을 사용하려고합니다. 당신이 볼 수 있듯이 내 에서 MainPage.xaml에서 이 간단 보이지만 작동하지 않습니다와 나는 이유를 찾을 수 없습니다 ...데이터 바인딩이 작동하지 않습니다. 무엇이 잘못 되었습니까? Silverlight WP7
<map:Map Name="bing_map" Height="578" Width="480"
ZoomLevel="{Binding ZoomLevel, Mode=TwoWay}"
Center="{Binding Center, Mode=TwoWay}"
CredentialsProvider="{StaticResource BingMapsKey}" />
, 나는 개의 zoomLevel와 구속을 시도하고있어 센터.
ZoomLevel = 12.0;
Center = new GeoCoordinate(0, 0);
속성 :
private double _zoom_level;
private double ZoomLevel
{
get { return _zoom_level; }
set {
if (_zoom_level == value) return;
_zoom_level = value;
RaisePropertyChanged("ZoomLevel");}
}
private GeoCoordinate _center;
private GeoCoordinate Center
{
get { return _center; }
set {
if (_center == value) return;
_center = value;
RaisePropertyChanged("Center"); }
}
public event PropertyChangedEventHandler PropertyChanged;
void RaisePropertyChanged(string propertyName)
{
var handler = PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(propertyName));
}
내
MainPage.xaml.cs를에서
는
에서 클래스 상속은 생성자에서
을에서 INotifyPropertyChanged
나는 뭔가를 잊고 있습니까?
나는
당신의 도움에 미리 감사드립니다 ... 바인딩 간단한에 잠시 것으로 시작 3 시간 동안이 붙어 있습니다! :)
글쎄 나는 그렇게 열심히 노력하고 있었으면 좋겠다고 생각했다. 그러나 그렇지 않았다. :/어쨌든. –
@Niklaos : Ray가 맞습니다. Datacontext도 설정해야합니다.MVVM 패턴을 사용하는 것이 좋습니다. 나는 대답도 편집했다. – MichaelS
고마워요! 나는 어딘가에서 데이터 컨텍스트가 루트에 자동으로 설정된다는 것을 읽었지 만 그것은 거짓말 (케이크와 같은) 인 것처럼 보입니다. –