2014-01-29 7 views
0

내 WPF 프로젝트에서 DataGrid의 특정 필드에 IValueConverter를 사용하려고합니다. 데이터가 도착하면 DataGrid가 채워지더라도 변환기가 호출되지 않는다는 것을 알게되었습니다.DataGrid 변환기가 호출되지 않았습니다.

<UserControl.Resources> 
    <sol:RfidConverter x:Key="rfidConverter" /> 
</UserControl.Resources> 
... 
<DataGrid AutoGenerateColumns="False" Name="TagGrid" VerticalAlignment="Stretch" ItemsSource="{Binding}"> 
    <DataGrid.Columns> 
     <DataGridTextColumn IsReadOnly="True" Header="Tag ID" Width="200" Binding="{Binding Rfid, Converter={StaticResource rfidConverter}}"></DataGridTextColumn> 
     <DataGridCheckBoxColumn Header="Delete" Width="Auto" Binding="{Binding ToDelete}"></DataGridCheckBoxColumn> 
    </DataGrid.Columns> 
</DataGrid> 

그리고 C#으로 :

// Tags is an ObservableCollection<Tag> 
TagGrid.DataContext = a.GetActiveItem<Project>().Tags; 

그리고 내 변환기의 코드 :

나는 다음과 같은 코드가 내가 쉽게 답이 왜 있다고 생각

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
{ 
    string val = ((Int64)value).ToString("x").PadLeft(8, '0'); 
    return val; 
} 

을 내 변환기가 호출되지 않습니다. "string val = ..."으로 시작하는 줄에 중단 점을 설정하고 내 DataGrid에 빈 항목이 추가 되더라도 중단 점에 결코 도달하지 않습니다. 이것은 내 첫 번째 WPF 프로젝트입니다. 도움을 많이 주시면 감사하겠습니다. 감사!

+0

글쎄, 그게 다야. 대단히 감사합니다. – user2434237

+0

@ bogza.anton,이 질문을 답변으로 설정할 수 있도록 답변에 의견을 추가하십시오. 향후 사용자를 돕기 위해 좀 더 자세한 설명을 추가 할 수 있다면 감사하겠습니다. 많은 감사합니다. – Sheridan

답변

0

예를 재현했습니다. 바인딩 및 변환 작업이 수행됩니다. 필드 이름 바인딩 (Rfid)을 다시 확인하십시오.

관련 문제