Image.ImageOpened Evento
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Ocorre quando a origem da imagem é baixada e decodificada sem falha. Você pode usar esse evento para determinar o tamanho natural da origem da imagem.
// Register
event_token ImageOpened(RoutedEventHandler const& handler) const;
// Revoke with event_token
void ImageOpened(event_token const* cookie) const;
// Revoke with event_revoker
Image::ImageOpened_revoker ImageOpened(auto_revoke_t, RoutedEventHandler const& handler) const;
public event RoutedEventHandler ImageOpened;
function onImageOpened(eventArgs) { /* Your code */ }
image.addEventListener("imageopened", onImageOpened);
image.removeEventListener("imageopened", onImageOpened);
- or -
image.onimageopened = onImageOpened;
Public Custom Event ImageOpened As RoutedEventHandler
<Image ImageOpened="eventhandler"/>
Tipo de evento
Comentários
Quando ImageOpened é acionado, isso serve como a notificação de que todas as operações assíncronas foram concluídas e todas as propriedades do objeto usado como fonte de imagem estão prontas para uso. Por exemplo, para determinar o tamanho da imagem, manipule ImageOpened e marcar o valor das propriedades PixelWidth e PixelHeight no objeto referenciado como Image.Source. Os dados do evento ImageOpened normalmente não são úteis.
Quando o elemento Image não estiver na árvore visual dinâmica, o elemento Image não disparará eventos ImageOpened ou ImageFailed . Se você precisar receber esses eventos enquanto o elemento não estiver na árvore dinâmica, use o BitmapImage. ImageOpened/Eventos ImageFailed .
Comportamento do Windows 8
Para o Windows 8, os recursos podem usar um padrão de qualificador de recursos para carregar recursos diferentes, dependendo do dimensionamento específico do dispositivo. No entanto, os recursos não serão recarregados automaticamente se o fator de dimensionamento for alterado enquanto o aplicativo estiver em execução. Nesse caso, os aplicativos teriam que cuidar do recarregamento de recursos, manipulando o evento DpiChanged (ou o evento LogicalDpiChanged preterido) e usando a API ResourceManager para recarregar manualmente o recurso apropriado para o novo fator de dimensionamento. Começando com Windows 8.1, qualquer recurso que foi originalmente recuperado para seu aplicativo será automaticamente reavaliado se o fator de dimensionamento mudar enquanto o aplicativo estiver em execução. Além disso, quando esse recurso é a origem da imagem de um objeto Image , um dos eventos de carga de origem (ImageOpened ou ImageFailed) é acionado como resultado da ação do sistema de solicitar o novo recurso e, em seguida, aplicá-lo à Imagem. O cenário em que uma alteração de escala em tempo de execução pode acontecer é se o usuário move seu aplicativo para um monitor diferente quando mais de um está disponível.
Se você migrar o código do aplicativo do Windows 8 para Windows 8.1 talvez queira considerar essa alteração de comportamento, pois isso resulta em eventos ImageOpened ou ImageFailed que ocorrem em tempo de execução quando a alteração de escala é tratada, mesmo nos casos em que a Origem é definida em XAML. Além disso, se você tiver um código que manipulasse DpiChanged/LogicalDpiChanged e redefinisse os recursos, deverá examinar se esse código ainda é necessário, considerando o novo Windows 8.1 comportamento de recarregamento automático.
Os aplicativos que foram compilados para Windows 8, mas estão sendo executados no Windows 8.1, continuam a adotar o comportamento do Windows 8.