c# - Combobox no se actualiza a pesar de SelectedItem y ItemsSource Bindings
uwp (1)
Después de luchar con este problema durante aproximadamente dos horas, me di cuenta de que el marco UWP está conectando los enlaces en el orden en que están configurados, por lo que SelectedItem
se está configurando correctamente, pero luego se borra cuando se establece el valor ItemsSource
. Cambiar mi XAML a lo siguiente soluciona el problema:
<ComboBox ItemsSource="{Binding Themes, Mode=OneTime}"
SelectedItem="{Binding SelectedTheme, Mode=TwoWay}" />
Tengo el siguiente ComboBox:
<ComboBox SelectedItem="{Binding SelectedTheme, Mode=TwoWay}"
ItemsSource="{Binding Themes, Mode=OneTime}" />
Está vinculado a los siguientes valores en mi VM:
private Theme _selectedTheme;
public Theme SelectedTheme
{
get { return _selectedTheme; }
set
{
if (_selectedTheme != value)
{
_selectedTheme = value;
OnPropertyChanged();
}
}
}
public List<Theme> Themes =>
Enum.GetValues(typeof(Theme)).Cast<Theme>().ToList();
SelectedTheme
el valor de SelectedTheme
en el ctor de la VM, y el miembro get
recibe un golpe después de asignar la instancia de VM al DataContext
mi Page
. Mi problema es que la IU no refleja el valor de enlace la primera vez que cargo la página; las actualizaciones funcionan correctamente todas las demás veces, pero el cuadro combinado no muestra ninguna selección después de que la página se carga inicialmente.