2012-03-27 13 views
1

経度と緯度を束縛できませんか?ビン地図経度緯度データバインディング

<bm:Map x:Name="EventMap" MapType="Birdseye" ZoomLevel="5" 
     Credentials="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" Height="480" Width="550" 
     HorizontalAlignment="Left"> 
    <bm:Map.Center> 
     <bm:Location Latitude="{Binding Latitude}" 
        Longitude="{Binding Longitude}"/> 
    </bm:Map.Center> 
</bm:Map> 

ここは、緯度と経度をバインドするコレクションです。

<CollectionViewSource 
    x:Name="itemsViewSource" 
    Source="{Binding EventItems}" 
    d:Source="{Binding EventItemGroups[0].EventItems, Source={d:DesignInstance Type=data:EventDataSource, IsDesignTimeCreatable=True}}"/> 

どのような種類のデータを使用する必要がありますか?文字列?ダブルなど?

private string _longitude = string.Empty; 
     public string Longitude 
     { 
      get { return this._longitude; } 
      set { this.SetProperty(ref this._longitude, value); } 
     } 

     private string _latitude = string.Empty; 
     public string Latitude 
     { 
      get { return this._latitude; } 
      set { this.SetProperty(ref this._latitude, value); } 
     } 

Iは(経度) "151.173248"、(緯度)信じる "-33.840764" 私は間違っていないmの場合、シドニーで有効なポイントです。

私は地図に緯度と経度が表示されていないことがわかったので、私は縛ります。それはどこの場所もない元の地図のようです。最も重要なことは、コンパイルの数時間後に、それは

を飛び出しすべてのアイデアワットが起こるBing.Maps.Location.Longitude

」プロパティに割り当てる

を失敗しましたか?

+0

バインドしようとしている緯度と経度の値はどこですか?マップを含むUI要素に適切なDataContextを割り当てることを覚えましたか? DataContextが正しく設定されている場合、緯度と経度の値は有効ですか? –

+0

@BojinLi 返信いただきありがとうございます。ここに情報があります。 –

答えて

0

貼り付けたコードの一部が混乱していますが、密度が高い可能性がありますが、CollectionViewSourceを使用しているかどうかわかりません。あなたの経度と緯度のプロパティは疑わしいようです。 Reference Documentationによれば、<bm:Map.Center>Locationオブジェクトを取ります。これは経度と緯度が倍になると予想しています。ソース文字列プロパティをターゲットdoubleプロパティにバインドすることは、デフォルトでは機能しません。値コンバーターを指定する必要があります。あなたのケースでは、可能な場合はちょうどあなたの経度と緯度のプロパティのための二重を使用します。

private double _longitude = Double.NaN; 
    public double Longitude 
    { 
     get { return _longitude; } 
     set { SetProperty(ref _longitude, value); } 
    } 

    private double _latitude = Double.NaN; 
    public double Latitude 
    { 
     get { return _latitude; } 
     set { SetProperty(ref _latitude, value); } 
    } 

を、私はまた、あなたの経度と緯度のプロパティは依存関係プロパティではないことに気づいた、とあなたはINotifyPropertyChangedインターフェイスを実装していないようですSetProperty()内で実行している場合を除き、結果として、データバインドのためだと思うかもしれませんが、後でコード内のLongitudeまたはLatitudeプロパティを変更すると、<bm:Map.Center>は更新されません。

+0

返信いただきありがとうございます。 乱雑なコードを残念に思っています。実際に私は元の例から変更しています。また、私はあなたが与えた解決策を試みた。まだ同じように見える><。私はその後、私の経度と緯度を変更していないと思う。地図は別のページにあります。私はちょうど私がページに読み込まれた場所を表示したい。だから問題ではありません。 >< –

関連する問題