2011-07-10 14 views
0

データフォームにコンボボックスを使用するためにどのように...私のコードは次のとおりです。私のコンボボックス用 SilverlightのWCF RIA:私はこの問題にほぼ数時間を費やしていると私は私の髪を引っ張っています

 <toolkit:DataForm MaxWidth="400" Name="dataForm_EditWBS" Header="WBS Task" AutoCommit="True" AutoEdit="True" AutoGeneratingField="dataForm_EditWBS_AutoGeneratingField"> 
     <toolkit:DataForm.EditTemplate> 
      <DataTemplate> 
       <StackPanel> 
        <toolkit:DataField Label="Phase"> 


          <ComboBox x:Name="ComboBoxEdit_Phase" DisplayMemberPath="PhaseDescription" SelectedValuePath="PhaseID" 
             SelectedItem="{Binding PhaseID, Mode=TwoWay}" 
             /> 

         </toolkit:DataField> 
        <toolkit:DataField Label="Task"> 
         <TextBox 
            Text="{Binding TaskDescription, Mode=TwoWay}"/> 
        </toolkit:DataField> 
        <toolkit:DataField Label="Comments"> 
         <TextBox HorizontalScrollBarVisibility="Auto" AcceptsReturn="True" Height="60" TextWrapping="Wrap" 
            Text="{Binding TaskComments, Mode=TwoWay}"/> 
        </toolkit:DataField> 
        <toolkit:DataField Label="Resource Type"> 
         <ComboBox x:Name="cbResourceType" 
            SelectedItem="{Binding PhaseID, Mode=TwoWay}" DisplayMemberPath="PhaseDescription" SelectedValue="PhaseID" /> 

        </toolkit:DataField> 
        <toolkit:DataField Label="Resource"> 
         <ComboBox x:Name="cbResource" 
            SelectedItem="{Binding PhaseID, Mode=TwoWay}" DisplayMemberPath="PhaseDescription" SelectedValue="PhaseID" /> 

        </toolkit:DataField> 
        <toolkit:DataField Label="Hours"> 
         <TextBox 
            Text="{Binding Hours, Mode=TwoWay, StringFormat='n'}"/> 
        </toolkit:DataField> 
        <toolkit:DataField Label="Cost"> 
         <TextBox 
            Text="{Binding Hours, Mode=TwoWay, StringFormat='c'}"/> 
        </toolkit:DataField> 
       </StackPanel> 
      </DataTemplate> 
     </toolkit:DataForm.EditTemplate> 
    </toolkit:DataForm> 
    </StackPanel> 

ソースから来て別のテーブル、誰もが私はアイテムでこれを設定することができます知っている。心から感謝する!

おかげで、

ニコラス

答えて

0

フォームが結合(コンボボックスを含む)すべてのデータのために必要であることをモデルデータクラスを作成し、データバインド、彼らが必要とする項目のコレクションにコンボボックスののItemsSource表示する(新しいクラスのプロパティとして表示)。次に、フォームのDataContextをこの新しいクラスのインスタンスに設定します。

一般的にこの新しいクラスがViewModelに呼ばれ

、これはを始めるために、MicrosoftのUnityおよびCaliburn.Microをチェックアウトリチャーズの答えに続いてモデル/ビュー/ ViewModelにデザインパターン(MVVM)

0

の一の態様でありますMVVM。私はMVVMを実装しようとしました。それは恐ろしい出来事でした。私が言及したライブラリは、MVVMを理解するのがずっと簡単で、MVVMを実装する方法をより簡単にします。

幸運。

関連する問題