мой флажок не привязывает правильно начальное значение при запуске:
<CheckBox IsThreeState="True" IsChecked="{Binding StartWithSettings,Mode=TwoWay}"/>
Флажок отображается пустым при запуске, но должен быть обнулен (поле с черным квадратом внутри).
Getter правильно поднимается с нулевым значением при запуске, что мне не хватает?
РЕДАКТИРОВАТЬ:
Ниже вы можете найти мою модель просмотра, код модели и кнопку для переключения всех трех состояний флажка. странная вещь происходит при переключении между нулевым состоянием и ложным состоянием -> он всегда показывает ложный флажок, независимо от того, является ли он нулевым или ложным, но базовые данные верны.
Я могу переключить состояние флажка напрямую, щелкнув сам флажок, все три состояния отображаются правильно.
Это приложение для магазина Windows 8.1, возможно, флажок wpf отличается от "обычного" флажка wpf и содержит ошибку?
фрагмент viewmodel:
public bool? StartWithSettings
{
get
{
return _configurationModel.MyAppModel.StartWithSettings;
}
set
{
_configurationModel.MyAppModel.StartWithSettings = value;
RaisePropertyChangedEvent("StartWithSettings");
}
}
фрагмент модели
public class MyAppModel
{
public bool? StartWithSettings { get; set; }
public MyAppModel()
{
this.StartWithSettings = null;
}
}
фрагмент тестового кода
private void ChangeCheckboxState()
{
if (StartWithSettings == null)
{
StartWithSettings = true;
return;
}
else if (StartWithSettings == true)
{
StartWithSettings = false;
return;
}
else
StartWithSettings = null;
}
StartWithSettings
? Этоbool
илиbool?
? Он будет принимать значение из вашего свойства, и если оно не допускает значения NULL, и вы не устанавливаете его, то по умолчанию, если будет false - person dkozl   schedule 23.09.2014CheckBox
? - person dkozl   schedule 23.09.2014