SystemBackdrop.OnDefaultSystemBackdropConfigurationChanged Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Eseguire l'override di questo metodo da chiamare quando l'oggetto restituito dalle GetDefaultSystemBackdropConfiguration
modifiche. Ciò è utile se si usa un oggetto personalizzato SystemBackdropConfiguration
.
protected:
virtual void OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop ^ target, XamlRoot ^ xamlRoot) = OnDefaultSystemBackdropConfigurationChanged;
void OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop const& target, XamlRoot const& xamlRoot);
protected virtual void OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop target, XamlRoot xamlRoot);
function onDefaultSystemBackdropConfigurationChanged(target, xamlRoot)
Protected Overridable Sub OnDefaultSystemBackdropConfigurationChanged (target As ICompositionSupportsSystemBackdrop, xamlRoot As XamlRoot)
Parametri
Destinazione dello sfondo.
- xamlRoot
- XamlRoot
Radice XAML della destinazione dello sfondo.
Esempio
Questo esempio mostra una classe di sfondo del sistema personalizzata implementata con MicaController. Il OnDefaultSystemBackdropConfigurationChanged
metodo viene sottoposto a override e in essa la configurazione Theme
è impostata per essere sempre leggera.
Ad esempio, se il tema di sistema viene modificato da Chiaro a Scuro mentre l'app è in esecuzione, questo metodo viene chiamato e il tema dello sfondo viene impostato su Chiaro anziché passare a Scuro con il tema di sistema.
<Window
... >
<Window.SystemBackdrop>
<local:MicaLightSystemBackdrop/>
</Window.SystemBackdrop>
<!-- XAML content -->
</Window>
public class MicaLightSystemBackdrop : SystemBackdrop
{
MicaController micaController;
protected override void OnTargetConnected(ICompositionSupportsSystemBackdrop connectedTarget, XamlRoot xamlRoot)
{
base.OnTargetConnected(connectedTarget, xamlRoot);
if (micaController is not null)
{
throw new Exception("This controller cannot be shared");
}
micaController = new MicaController();
//_ = GetDefaultSystemBackdropConfiguration(connectedTarget, xamlRoot);
micaController.AddSystemBackdropTarget(connectedTarget);
}
protected override void OnTargetDisconnected(ICompositionSupportsSystemBackdrop disconnectedTarget)
{
base.OnTargetDisconnected(disconnectedTarget);
micaController.RemoveSystemBackdropTarget(disconnectedTarget);
micaController = null;
}
protected override void OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop target, XamlRoot xamlRoot)
{
SystemBackdropConfiguration config = new SystemBackdropConfiguration();
config.Theme = SystemBackdropTheme.Light;
micaController.SetSystemBackdropConfiguration(config);
}
}
Commenti
Questo metodo è utile quando si implementa un systemBackdropConfiguration personalizzato che incorpora alcuni stati della proprietà rilevata, ma è diverso in qualche modo rispetto ai criteri predefiniti.
Anziché applicare la configurazione dello sfondo predefinita ottenuta da GetDefaultSystemBackdropConfiguration (passandola a SetSystemBackdropConfiguration), eseguire l'override OnDefaultSystemBackdropConfigurationChanged
di . Quando viene apportata una modifica al criterio predefinito , ad esempio quando un utente modifica il tema di sistema da Chiaro a Scuro, viene chiamato questo metodo. In questo metodo creare un nuovo oggetto SystemBackdropConfiguration e impostarne le proprietà in base alle esigenze. Passare quindi l'oggetto modificato SystemBackdropConfiguration
a SetSystemBackdropConfiguration.