WPF의 DataGrid를 사용하기 시작하면서 문제가 발생했습니다. 그래서 WPF DataGrid 바인딩 목록
public class ChainCode
{
private uint _number;
private byte _code;
public uint Number { get { return _number; } set { _number = value; } }
public byte Code { get { return _code; } set { _number = value; } }
}
, 나는 그런 데이터 그리드에 ID를 바인딩 할 : 나는 ChainCode가
private List<ChainCode> _chainCode = new List<ChainCode>();
는 목록을 가지고
<DataGrid x:Name="dataGridChainCode" ItemsSource="{Binding _chainCode}" CanUserAddRows="True" IsEnabled="False" AutoGenerateColumns="False" Margin="10,35,18,0" VerticalAlignment="Top">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Number}" IsReadOnly="True" Header="#" Width="60"/>
<DataGridTextColumn Binding="{Binding Code}" Header="code" Width="60"/>
</DataGrid.Columns>
</DataGrid>
을하지만 난 내 프로그램을 시작할 때 , 나는 어떤 행을 DataGrid에 추가 할 수 없다. 단지 헤더 만 존재한다. 그리고 나는 그것을 고치는 방법을 모른다.
업데이트 : XAML에서
private ObservableCollection<ChainCode> _chainCode = new ObservableCollection<ChainCode>();
public ObservableCollection<ChainCode> OCChainCode { get { return _chainCode; } set { _chainCode = value; } }
및 다음 :
ItemsSource="{Binding OCChainCode}"
하지만 응답이 없을 나는 이러한 변경을했다. 내가 뭘 잘못 했니?
내가 이해할 수있는 한 가지는 WPF를 사용하기에는 너무 이른 것입니다. 따라서 나중에 고치겠습니다.
그러나 _chainCode는.xaml.cs 파일에 있습니다. 즉, 컨트롤 클래스 –
안에 선언되어 있습니다. 질문에 대한 답변을 얻으려면 장면 뒤에있는 바인딩 메커니즘을 이해해야합니다. –