私は調査フォームで作業しています。調査は、次の構造のオブジェクトから作成されます。
調査--has->セクション--has->質問--has->QuestionOptions
各QuestionOptionには次
のものがあります。QuestionID(質問に関連)
OptionText(ComboBox(DisplayMemeberバインディング)に表示されるもの)
OptionValue(オプションのスコア、通常は1〜5(SelectedValuePathバインディング))
調査の結果は、次の構造に保存されます。
結果--has->回答
各回答には次のものがあります。QuestionID(
回答をデータベースの調査オプションにリンクするため)
スコア(これは、ComboBoxのユーザーによる値セレクターから取得されます)
保存は問題なく機能しますが、調査を編集する必要がある場合は、これまでに選択した結果を戻す必要があります。オブジェクト「Result」は完全に入力されているので、すべてのデータを利用できます。
問題はGUIにあります:
DataTemplateから作成された各ComboBoxを、保存された調査の対応する値で初期化または設定するにはどうすればよいですか?ComboBoxがオブジェクト「Survey」から生成され、回答がオブジェクト「Result」 にあることを考慮してください。
ComboBoxに使用されるXAMLコードは次のとおりです。
<DataTemplate x:Key="QuestonTemplate">
<StackPanel Margin="10,2,10,2" Orientation="Vertical">
<TextBlock HorizontalAlignment="Left" Text="{Binding Path=QuestionText}" TextWrapping="Wrap" Height="Auto" Margin="5" FontSize="14" />
<ComboBox x:Name="Options" Grid.Row="1" HorizontalAlignment="Left" Width="400" Margin="10,0,10,0"
Style="{StaticResource FlatComboBoxPaleYellow}"
ItemsSource="{Binding Path=QuestionOptions}"
SelectedValuePath="OptionValue"
DisplayMemberPath="OptionText"
SelectionChanged="Answer_SelectionChanged" />
</StackPanel>
</DataTemplate>
私はXAMLコードまたはC#(さらに良いです!私は古い学校です)または任意の提案を受け入れています。
ありがとう!