Не могу объяснить, почему отрицательные числа от -1 до -8 не будут отображаться в моем combobox
. Я прошел отдельные номера, и только те, которые упомянуты, не работают. Все остальные числа, отрицательные и положительные, кажутся нормальными. Любые подсказки приветствуются.
XAML:
<ComboBox Grid.Row="2" Grid.Column="1" md:HintAssist.Hint="Degrees" MinWidth="72" Margin="16 0 0 0"
ItemsSource="{Binding LongtitudeRange}"
Style="{StaticResource MaterialDesignFloatingHintComboBox}">
<ComboBox.Text>
<Binding Path="Long1" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<domain:NotEmptyValidationRule ValidatesOnTargetUpdated="True"/>
</Binding.ValidationRules>
</Binding>
</ComboBox.Text>
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
VM Contructor ..
LongtitudeRange = new List<int>(Enumerable.Range(-179, 359));
Свойство, я подтвердил, что r
имеет правильный номер.
public IList<int> LongtitudeRange { get; }
public double Long1
{
get
{
var l = Conversions.DoubleToDegreeString(SkyServer.Longitude);
var lsplit = l.Split(':');
var r = Convert.ToDouble(lsplit[0]);
return r;
}
set
{
var l = Conversions.DegreeToDouble(value, Long2, Long3);
if (Math.Abs(l - SkyServer.Longitude) < 0.00001) return;
SkyServer.Longitude = l;
OnPropertyChanged();
}
}
Я вызываю это из другого метода, чтобы инициировать обновление OnPropertyChanged($"Long1");