0

ビュー モデルのプロパティにバインドされたデータグリッド (この場合は C1 データグリッド) があります。データグリッドの XAML は次のようになります。

        <c1:C1DataGrid 
            AutoGenerateColumns="False"
            IsReadOnly="False"
            Margin="5" Width="auto"
            MinWidth="250"
            HorizontalAlignment="Stretch"
            VerticalAlignment="Stretch"
            Name="dgNotifAssign"
            CanUserAddRows="True" 
            ItemsSource="{Binding Path=notifCodeSubs.notification_configuration}"
            >


            <c1:C1DataGrid.Columns>
                <c1:DataGridTextColumn 
                    Binding="{Binding Path=user_id}" 
                    Header="Recipient" 
                    VerticalAlignment="Stretch"
                    SortMemberPath="user_id"  
                    >

私のビューモデルでは、バインドされているプロパティは次のようになります。

Public Property notifCodeSubs As dsPeruseFM
    Get
        If _notifCode Is Nothing Then
            _notifCode = New dsPeruseFM
        End If
        Return _notifCode
    End Get
    Set(ByVal value As dsPeruseFM)
        MsgBox("If you can see this, success!")
    End Set
End Property

コード ビハインドでは、viewmodel のインスタンスを作成し、xaml のデータ コンテキストをそのインスタンスに設定します。かなり単純です...

Dim vm As New ctrlAlertNotifyVM

としても:

ctrlAlertNotifyXML.DataContext = vm

上記の構成は、データを正常にコンパイルして読み取ります。グリッドにはすべての正しいデータなどMode=twowayが取り込まれます。データグリッドの ItemsSource に追加しようとすると問題が発生します。その時点で、VS2010 は次のエラーを吐き出します。

TwoWay または OneWayToSource バインディングは、タイプ「PeruseFM.dsPeruseFM」の読み取り専用プロパティ「notification_configuration」では機能しません。

すべてのプロパティが読み取り/書き込み可能であると確信しています。この時点での set コマンドはメッセージ ボックスにすぎませんが、そこにアクセスすることさえできないようです。

質問は... 誰かがこの問題に遭遇したことがありますか?

更新、質問「notification_configuration はどのように見えますか?」への回答 6 文字の変数から:

Public Function codeChanged(Optional ByVal x As String = "")

    If _notifCode Is Nothing Then
        _notifCode = New dsPeruseFM
    End If
    taNotifSubs.fillNotifSubs(notifCode:=x, dataTable:=_notifCode.notification_configuration)
    Return _notifCode
End Function
4

1 に答える 1

1

が読み取り/書き込み可能であることを示しましたnotifCodeSubsが、それはバインドした実際のプロパティではありません。

この観点からすると、エラー メッセージは一目瞭然です。

...読み取り専用プロパティ'notification_configuration'...

TwoWayしたがって、そのプロパティにバインディングを として適用することはできませんItemsSource

于 2012-08-02T14:39:18.267 に答える