0

私は DataGrid を含むユーザーコントロールを持っています (データグリッドはグリッド上でのユーザー編集を許可します) が、ビューモデル プロパティを介してデータグリッドからコレクション データを取得すると、コレクションは行数のみを取得し、データグリッド コンテンツを取得しません。

意見

<UserControl>
    <Grid>
        <DataGrid ItemsSource="{Binding}" SelectionUnit="CellOrRowHeader" CanUserAddRows="True" CanUserDeleteRows="True">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Day" Binding="{Binding Monday}"/>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</UserControl>

ビューモデル

public class RuleDetailViewModel : UserControlViewModelBase
{
    ObservableCollection<RuleDetailExpViewModel> _ruleDetailList;

    public RuleDetailViewModel()
    {
        _ruleDetailList = new ObservableCollection<RuleDetailExpViewModel> 
        { 
            new RuleDetailExpViewModel(), 
            new RuleDetailExpViewModel() 
        };
    }

    public ObservableCollection<RuleDetailExpViewModel> RuleDetailList
    {
        get { return _ruleDetailList; }
        set 
        { 
             _ruleDetailList = ruleDetailList;
            OnPropertyChanged("RuleDetailList");
        }
    }
}

ItemsSource="{Binding RuleDetailList}" と ItemsSource="{Binding}" DataContext="{Binding RuleDetailList}" を試しましたが、失敗しました。

ビューからビューモデルにデータを取得するにはどうすればよいですか?

私の英語でごめんなさい

4

1 に答える 1

1

あなたの見方を

<UserControl>
    <Grid>
        <DataGrid ItemsSource="{Binding RuleDetailList}" SelectionUnit="CellOrRowHeader" CanUserAddRows="True" CanUserDeleteRows="True">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Day" Binding="{Binding Monday}"/>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</UserControl>

および にRuleDetailExpViewModelはプロパティが含まれている必要がありますMonday

于 2012-08-19T16:59:04.877 に答える