0

データグリッドの selectedItem を MVVM のプロパティにバインドしようとしています。問題は、プロパティの「設定」を起動しないことです。

私が持っているxaml部分で:

 <WPFCtrlDg:ExtDataGrid Name="_edgMessage" Grid.Row="1" 
      ItemsSource="{Binding Path=LNE_MESSAGE, Mode=OneWay}"
      SelectedItem="{Binding Path=CurrentMessage, Mode=TwoWay}">

コード部分で:

 private LNE_MESSAGE _currentMessage;
    public LNE_MESSAGE CurrentMessage
    {
        get
        {
            if (_currentMessage == null)
            {
                ICollectionView collectionView = CollectionViewSource.GetDefaultView(LNE_MESSAGE);
                if (collectionView != null)
                    return collectionView.CurrentItem as LNE_MESSAGE;
                return null;
            }
            return _currentMessage;
        }
        set
        {
            ICollectionView collectionView = CollectionViewSource.GetDefaultView(LNE_MESSAGE);
            if (collectionView != null)
                collectionView.MoveCurrentTo(value);

            _currentMessage = value;
            OnPropertyChanged(() => CurrentMessage);
        }
    }

extdatagrid はカスタム コントロールであり、選択された項目のプロパティは次のように行われます。

        public object SelectedItem
    {
        get { return GetValue(SelectedItemProperty); }
        set { SetValue(SelectedItemProperty, value); }
    }

    public static readonly DependencyProperty SelectedItemProperty =
        DependencyProperty.Register("SelectedItem", typeof(object), typeof(ExtDataGrid),
                                new UIPropertyMetadata((s, e) => 
                                                                {
                                                                    ExtDataGrid extDg = s as ExtDataGrid;
                                                                    Debug.Assert(extDg != null);
                                                                    extDg.CurrentItem = e.NewValue;
                                                                }));

selecteditem プロパティを正しくバインドする方法はありますか?

4

1 に答える 1

0

データコンテキストが正しく設定されているかどうかを確認してください。そして、ビジュアル ヘルパーを使用して datacontext が実際に設定されているかどうかを確認するために、ローカル ウィンドウをデバッグして確認します。バインディング エラーについては、出力ウィンドウも参照してください。

一見すると、依存関係プロパティは正しく見えます。

于 2013-01-02T10:57:07.803 に答える