1

データグリッドをコレクションにバインドしようとしていますが、コレクションの列がわかりません。そこで、ビューに渡されるプロパティに列をバインドしようとしました。

私のコードは次のとおりです。

  <FrameworkElement x:Key="ProxyElement" DataContext="{Binding ElementName=_VMItemSelector}"/>

<WPFCtrlDg:SelfBindingDataGrid x:Name="_sbdgAvailableItems" ScrollViewer.VerticalScrollBarVisibility="Auto"
                    ItemsSource="{Binding Path=Availables}"
                    SelectedItem="{Binding Path=CurrentAvailableItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                    IsReadOnly="{Binding DataContext.IsReadOnly,
                    Source={StaticResource ProxyElement},
                    Mode=OneWay}">
            <WPFCtrlDg:SelfBindingDataGrid.Columns>
                <WPFCtrlDg:ExtDataGridTextColumn Header="{Binding DataContext.DetailBinding,
                                                          Source={StaticResource ProxyElement},
                                                          Mode=OneWay}"  
                                                          Tag="CD_FUNCTION" 
                                                          Visibility="Hidden"/>
                <WPFCtrlDg:ExtDataGridTextColumn Header="{Binding DataContext.RightColumnHeader,
                                                          Source={StaticResource ProxyElement},
                                                          Mode=OneWay}"  
                                                          Binding="{Binding DataContext.RightColumnHeader,
                                                          Source={StaticResource ProxyElement}, 
                                                          Mode=OneWay}" 
                                                          Width="*"/>

そして私が持っている見解では

    private string _rightColumnHeader;
    public string RightColumnHeader
    {
        get { return _rightColumnHeader; }
        set { _rightColumnHeader = value; }
    }

値は、バインドするコレクションのフィールドである「DS_FUNCTION」に設定されますが、dataGrid に表示されるのは、コレクションの各要素の「DS_FUNTION」です。

4

0 に答える 0