2012-01-05 15 views
0

だから私は今これを理解しようと時間を費やしています。 データのコレクションに正しくバインドしている以下のコンボボックスがあります。選択値コンボボックスはバインドされていません

<ComboBox Name="cbx" Width="250" Height="25" 
    Visibility="{Binding Path=IsComboBox,Converter={StaticResource BoolConverter}}" 
    ItemsSource="{Binding Path=Answers}" 
    SelectedValuePath="AnswerId" 
    SelectedItem="{Binding Path=SelectedAnswer, Mode=TwoWay}" 
    DisplayMemberPath="Answer"/> 

[選択済みアイテム]は[選択した回答]プロパティの上位にありません。フォーム上にテキストボックスを置き、SelectedAnswer.Answerにバインドして、それが正しくバインドされています。何らかの理由で 私のコンボボックスが選択された解答

  • を結合しないでしょうが、私はコンボボックスのプロパティのレイアウトについて何かを読んでも、それを確実にするために、プロパティのゲッターとセッターを通じて段階、ということに変化しようとしていますはクリアされません(これはテキストボックスにバインドされないためです)

これを手伝ってください。

SurveyAnswer:

public class SurveyAnswer : INotifyPropertyChanged 
{ 
    private Guid answerId; 
    public Guid AnswerId 
    { 
     get { return answerId; } 
     set { 
      answerId = value; 
      NotifyPropertyChanged("AnswerId"); 
     } 
    } 

    private string answer; 
    public string Answer 
    { 
     get { return answer; } 
     set { 
      answer = value; 
      NotifyPropertyChanged("Answer"); 
     } 
    } 

    public Guid SurveyLineID { get; set; } 

    private bool isSelected; 
    public bool IsSelected 
    { 
     get { return isSelected; } 
     set { 
      isSelected = value; 
      NotifyPropertyChanged("IsSelected"); 
     } 
    } 


    #region NotifyPropertyChanged 

    public event PropertyChangedEventHandler PropertyChanged; 
    private void NotifyPropertyChanged(String info) 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(info)); 
     } 
    } 

    #endregion   

} 
+0

あなたは 'Answers'収集・' SelectedAnswer'財産人口とも 'SelectedAnswer'プロパティの実装がどのように投稿することができますか? – nemesv

答えて

1

私はあなたがSelectedValueのにのSelectedItemを変更する必要があると思います。場合によっては、パラメータの順序も重要です。

<ComboBox Name="cbx" Width="250" Height="25"               
    Visibility="{Binding Path=IsComboBox,Converter={StaticResource BoolConverter}}" 
    ItemsSource="{Binding Path=Answers}"   
    SelectedValue="{Binding Path=SelectedAnswer, Mode=TwoWay}" 
    DisplayMemberPath="Answer" SelectedValuePath="AnswerId"/> 

これは便利です: http://johnpapa.net/binding-to-silverlight-combobox-and-using-selectedvalue-selectedvaluepath-and-displaymemberpath

+0

コンボボックスを正確に変更しようとしましたが、選択した値がまだバインドされていません – Bruie

+0

デバッグモードで実行している場合、出力ウィンドウにバインドエラーがありますか? SL5で実行している場合は、ブレークポイントを設定してデバッグすることができます。 Answerオブジェクトの外観を投稿できますか? – Aligned

+0

Posted SelectedAnswerオブジェクト - 出力ウィンドウにチェックインされており、バインディングの問題はありません。それがAnswersオブジェクトの問題だった場合、テキストボックスにバインドできませんでした。 – Bruie

関連する問題