Heim > Backend-Entwicklung > C++ > Wie wende ich Mischverhalten mithilfe von Style-Settern in XAML auf mehrere Objekte an?

Wie wende ich Mischverhalten mithilfe von Style-Settern in XAML auf mehrere Objekte an?

Patricia Arquette
Freigeben: 2025-01-10 10:35:41
Original
415 Leute haben es durchsucht

How to Apply Blend Behaviors to Multiple Objects Using Style Setters in XAML?

Mischverhalten im Stilsetzer hinzufügen

Frage:

Sie möchten den Style-Setter verwenden, um das Mischverhalten für alle Schaltflächen in Ihrer Anwendung festzulegen. Es tritt jedoch die Fehlermeldung „Eigenschaft ‚Behaviors‘ verfügt über keinen zugänglichen Setter“ auf.

Lösung:

Die größte Herausforderung besteht hier darin, dass Verhalten mit bestimmten Objekten verknüpft sind und dieselbe Verhaltensinstanz nicht für mehrere Objekte verwendet werden kann. Darüber hinaus haben an das Verhalten angehängte Eigenschaften keine Setter und können nur inline hinzugefügt werden.

Um diese Einschränkungen zu überwinden:

  • Definieren Sie Ihr Verhalten und lösen Sie Sammelklassen aus.
  • Erstellen Sie benutzerdefinierte angehängte Eigenschaften, um das Hauptverhalten und die Triggereigenschaften zu manipulieren.
  • Setzen Sie das x:Shared-Attribut auf False, damit jedes Mal, wenn auf die Ressource verwiesen wird, eine neue Kopie erstellt wird.
  • Nutzen Sie die additive Natur von Verhaltensweisen und Auslösern, indem Sie Verhaltens- und Auslösereigenschaften hinzufügen, anstatt sie zu ersetzen.

Hier ist ein Beispiel für die Verwendung dieser Methode:

<code class="language-xml"><Grid>
    <Grid.Resources>
        <String x:Key="stringResource1">stringResource1</String>
        <Triggers x:Key="debugTriggers" x:Shared="False">
            <EventTrigger EventName="MouseLeftButtonDown">
                <DebugAction Message="DataContext: {0}" MessageParameter="{Binding}" />
                <DebugAction Message="ElementName: {0}" MessageParameter="{Binding Text, ElementName=textBlock2}" />
                <DebugAction Message="Mentor: {0}" MessageParameter="{Binding Text, RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}}" />
            </EventTrigger>
        </Triggers>
        <Setter Property="local:SupplementaryInteraction.Triggers" Value="{StaticResource debugTriggers}" />
    </Grid.Resources>
    <StackPanel DataContext="{StaticResource stringResource1}">
        <TextBlock Name="textBlock1" Style="{StaticResource debugBehavior}" Text="textBlock1" />
        <TextBlock Name="textBlock2" Style="{StaticResource debugBehavior}" Text="textBlock2" />
        <TextBlock Name="textBlock3" Style="{StaticResource debugBehavior}" Text="textBlock3" />
    </StackPanel>
</Grid></code>
Nach dem Login kopieren

Dieser Ansatz ermöglicht es Ihnen, Verhaltensweisen und Auslöser über Stilsetzer auf mehrere Objekte anzuwenden, sodass Sie allgemeine Verhaltensfunktionen problemlos in Ihrer Anwendung wiederverwenden können.

Das obige ist der detaillierte Inhalt vonWie wende ich Mischverhalten mithilfe von Style-Settern in XAML auf mehrere Objekte an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage