Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[BUG] [ObservableProperty] OnChanged Callback Not Firing with TwoWay Binding

Abierto
#1,166 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
csharp

Línea de trabajo

Comienza ejecutando el ejemplo vinculado de ObservablePropertyIssue y reproduce el flujo de selección del Picker. Rastrea el enlace TwoWay desde Microsoft.Maui.Controls.Picker.IsOpen hasta IsProjectPickerExpanded e inspecciona por qué no se invoca OnIsProjectPickerExpandedChanged. Se considera completado cuando el callback se ejecuta después de que cambie el Picker y SelectionText se actualiza como se describe.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug :bug: mvvm-toolkit :toolbox: needs author feedback :memo:
Describe the bug

When using [ObservableProperty] from CommunityToolkit.Mvvm 8.4 on a bool property bound TwoWay to Microsoft.Maui.Controls.Picker.IsOpen, the generated OnIsProjectPickerExpandedChanged method is never called

Regression

8.0.3

Steps to reproduce
<Picker Title="Select a project" 
        ItemsSource="{Binding Projects}" 
        ItemDisplayBinding="{Binding Name, x:DataType=models:Project}" 
        SelectedItem="{Binding SelectedProject}" 
        SelectedIndex="{Binding SelectedProjectIndex}" 
        IsOpen="{Binding IsProjectPickerExpanded, Mode=TwoWay}"/>

public partial class MainPageViewModel : ObservableObject
{
    [ObservableProperty]
    private bool _isProjectPickerExpanded;

    [ObservableProperty]
    private string _selectionText = "No project selected";

    partial void OnIsProjectPickerExpandedChanged(bool value)
    {
        SelectionText = value
            ? "Picker is open..."
            : SelectedProject is not null
                ? $"Selected: {SelectedProject.Name} – {SelectedProject.Description}"
                : "No project selected";
    }

    // ...
}

With reference to the code snippet , OnIsProjectPickerExpandedChanged is never called.

Expected behavior

The OnIsProjectPickerExpandedChanged PropertyChanged method is expected to be invoked whenever the IsOpen property changes.

Screenshots

No response

IDE and version

VS 2022

IDE version

No response

Nuget packages
  • CommunityToolkit.Common
  • CommunityToolkit.Diagnostics
  • CommunityToolkit.HighPerformance
  • CommunityToolkit.Mvvm (aka MVVM Toolkit)
Nuget package version(s)

8.0.4

Additional context
  • .NET MAUI CommunityToolkit:8.0.4
  • OS: MacCatalyst Xcode 26.2
  • .NET MAUI:11.0.0-preview.1.26104.11
Help us help you

Yes, I'd like to be assigned to work on this item

Lenguaje dominante
C#
Estrellas
3.8k
Forks
401
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de CommunityToolkit/dotnet

Todos los issues de CommunityToolkit/dotnet

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.