1

モデルとしてクラスがあります。FlightクラスとflightDetailsクラスは、Webサービスのプロキシで定義された2つのクラスです。

public class FlightView
    {
        public FlightView()
        {
            FlightDetailsElement = new FlightDetails();
            Flight = new Flight();
            VisibleBoarding = false;
            VisibleCheckIn = false;
            Visibleluggage = false;
        }
        public Flight Flight;
        public FlightDetails FlightDetailsElement;
        private bool _visibleCheckIn;
        public bool VisibleCheckIn
        {
            get { return _visibleCheckIn; }
            set { _visibleCheckIn = value; }
        }
        private bool _visibleBoarding;
        public bool VisibleBoarding
        {
            get { return _visibleBoarding; }
            set { _visibleBoarding = value; }
        }
        private bool _visibleluggage;
        public bool Visibleluggage
        {
            get { return _visibleluggage; }
            set { _visibleluggage = value; }
        }
        private DateTime _refreshDate;
        public DateTime RefreshDate
        {
            get { return _refreshDate; }
            set { _refreshDate = value; }
        }
        private string _date;
        public string Date
        {
            get { return _date; }
            set { _date = value; }
        }
        private string _time;
        public string Time
        {
            get { return _time; }
            set { _time = value; }
        }

    }

コードビハインドで、グリッドのdataxontextを設定します。

 SelectedFlightView.FlightDetailsElement = e.Result;
        if(!(SelectedFlightView.FlightDetailsElement.IsArrival) && !string.IsNullOrEmpty(SelectedFlightView.FlightDetailsElement.BoardingGate))
        SelectedFlightView.VisibleBoarding= true;
         if(!(SelectedFlightView.FlightDetailsElement.IsArrival) && !string.IsNullOrEmpty(SelectedFlightView.FlightDetailsElement.CheckInArea))
        SelectedFlightView.VisibleCheckIn= true;
         if ((SelectedFlightView.FlightDetailsElement.IsArrival) && !string.IsNullOrEmpty(SelectedFlightView.FlightDetailsElement.LuggageDelivery))
             SelectedFlightView.Visibleluggage = true;
         SelectedFlightView.RefreshDate = DateTime.Now;
         SelectedFlightView.Date = SelectedFlightView.RefreshDate.ToLongDateString();
         SelectedFlightView.Time = SelectedFlightView.RefreshDate.ToLongTimeString();
         ContentPanelDetails.DataContext = SelectedFlightView;

私の問題は、xamlにバインドするときです。

 <TextBlock  Text="{Binding FlightDetailsElement.DepartureTime}"/> 

結果は出ていませんが、バインドすると

<TextBlock Text="{Binding Time}"/>結果が出ました。

何かアイデアはありますか?

よろしく

4

1 に答える 1

1

バインディングを機能させるには、パブリックプロパティを使用する必要があります。現在、あなたFlightDetailsElementはパブリックフィールドです。問題を解決するには、それをプロパティとして宣言するだけです。

public FlightDetails FlightDetailsElement { get; set; }
于 2012-10-24T11:13:09.163 に答える