0

私のシナリオ:

Telerik Silverlight RadGridViewにいくつかの列があり、そのうちの1つは

<telerik:RadGridView x:Name="Grid1" DataContext="{StaticResource ViewModelDailyReport}" IsSynchronizedWithCurrentItem="True" ScrollMode="RealTime"  AutoGenerateColumns="false" ItemsSource="{Binding LogBookItems}" IsReadOnly="false"   Visibility="Visible" >
[...]
<telerik:GridViewComboBoxColumn
                Header="My Activity"
                DataMemberBinding="{Binding Activity.ID, Mode=TwoWay}"
                SelectedValueMemberPath="ID"
                DisplayMemberPath="Name"
                ItemsSource="{StaticResource ViewModelActivities}">
</telerik:GridViewComboBoxColumn>
[...]

したがって、ViewModel内のアイテムのコレクションにTwoWayバインディングがあります。

(RadGrid BeginInsertコマンドを使用して)新しいアイテムを挿入する場合を除いて、すべて正常に機能します。ユーザーがドロップダウンからアイテムを選択すると、セル内では常に空白になります。

バインドされたコレクションには(挿入イベントで)新しいアイテムがありますが、新しく追加されたアイテムをコンボボックスでバインドする方法はありません。

トリックは何ですか?

ありがとう

4

1 に答える 1

0

LogBookItem クラスにデフォルトのコンストラクタがあることを確認してください。

デフォルト コンストラクターでは、ID にバインドしているため、デフォルト値を初期化し、新しい Activity インスタンスを作成することもできます。

public LogBook()
{
 //initialize default values
 this.CreationDate = DateTime.UtcNow;
 this.Activity = new Activity(); //Activity.ID will equal 0
}
于 2011-12-30T22:53:01.070 に答える