2014-01-13 5 views
1

что-то странное случилось со мной .. Я написал следующий код:FlashMode Перечислитель значения

IReadOnlyList<object> supportedFlashModes = PhotoCaptureDevice.GetSupportedPropertyValues(CameraSensorLocation.Front, KnownCameraPhotoProperties.FlashMode); 

_availableStates = new FlashStates(); 
foreach (uint supportedFlashMode in supportedFlashModes) 
{ 
    _availableStates.Add(
     new FlashState() { State = (FlashMode)supportedFlashMode } 
    ); 
} 

Результат: 0, 1, 3

Но значения FlashMode перечислений являются: 1,2, 3 и 4 .. Нет значения 0! Так что, когда я пытаюсь проверить, если режим выключения (значение = 0) с этим кодом

_availableStates.Exists(fs => fs.State == mode); 

возвращает FALSE, должен возвращать TRUE, вместо того, чтобы ...

Как может быть возможно?

ответ

1

Свойство FlashMode имеет тип FlashState, который имеет значения перечислений из 0, 1 и 3.

FlashMode документации: http://msdn.microsoft.com/en-us/library/windowsphone/develop/windows.phone.media.capture.knowncameraphotoproperties.flashmode(v=vs.105).aspx

FlashState перечислимого: http://msdn.microsoft.com/en-us/library/windowsphone/develop/windows.phone.media.capture.flashstate(v=vs.105).aspx

Я надеюсь, что помогает.

+0

AHhhh Я действительно глуп ... Я ошибся с этим: [Перечисление FlashMode] (http://msdn.microsoft.com/en-US/library/windowsphone/develop/microsoft.devices.flashmode (v = vs.105) .aspx) ... Итак, как я могу установить RedEyeReduction? Если доступна вспышка, пользователь может установить R-E-R (если он захочет)? – Ciccio

Смежные вопросы