У меня в классе модели есть свойство, которое является перечислением.
public class VmOutputCarouselBarCodeServiceControlData : BindableBaseThreadSafe
{
private SensorBufferState _lockStatus;
public SensorBufferState LockStatus
{
get => _lockStatus;
set => Set(ref _lockStatus, value);
}
}
В моей виртуальной машине, которая является DataContext всего представления, я устанавливаю значение следующим образом:
public class VM
{
public VmOutputCarouselBarCodeServiceControlData VmOutputControlData { get; set; }
public VM()
{
VmOutputControlData=new VmOutputCarouselBarCodeServiceControlData();
VmOutputControlData.LockStatus=SensorBufferState.Active;
}
}
public enum SensorBufferState
{
Default,
Active,
InActive,
Error
}
В моем xaml у меня есть табличка данных внутри таблички данных следующим образом:
<DataTemplate x:Key="OutputTemplate">
<Grid>
<ContentControl Grid.Row="0"
Grid.Column="1"
DataContext="{Binding VmOutputControlData.LockStatus}"
ContentTemplate="{StaticResource ErrorContentControl}"/>
</Grid>
</DataTemplate>
<DataTemplate x:Key="ErrorContentControl">
<Grid>
<Rectangle x:Name="SensorStatusRectangle"
Fill="{Binding Path=.,Mode=OneWay,Converter={StaticResource SensorBufferToColorConverter}}"
Height="30"
Width="60"/>
</Grid>
</DataTemplate>
В файле xaml.cs
Контекст данных установлен на ВМ для всего представления
Проблема в том, что когда я сохраняю точку останова внутри класса конвертера, он никогда не срабатывает. Но пока он работает, когда я удаляю. из обязательного пути точка останова поступает в преобразователь. DataContext ContentControl отображается как активный, который является одним из состояний перечисления. Тем не менее, привязка не работает. Пожалуйста помоги.