Quero ter uma visibilidade baseada na contagem de selecteditems de um datagrid. No entanto, isso não parece funcionar no winui, mas funcionou bem no WPF?
Conversor:
public object Convert(object value, Type targetType, object parameter, string language)
{
if ((int)value == 1)
return Visibility.Visible;
else
return Visibility.Collapsed;
}
Vinculativo:
Visibility="{Binding ElementName=DataGrid,Path=SelectedItems.Count,
Converter={StaticResource Converter}}"
Também tentei com x:Bind:
Visibility="{x:Bind DataGrid.SelectedItems.Count,
Converter={StaticResource CountToVisibilityConverter}}"
Parece-me que a propriedade não é atualizada. Se eu coloco um breakpoint no conversor, ele só é chamado no estágio inicial.
Isso ocorre porque essa
Count
é apenas uma propriedade simples e não notifica a interface do usuário quando ela é alterada.Uma maneira de conseguir isso é simplesmente usar o
SelectionChanged
evento e verificar oSelectedItems.Count
.Outra maneira é criando um custom
DataGrid
com uma DependencyProperty . Por exemplo:e use assim: