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.
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:
x:Shared
-Attribut auf False
, damit jedes Mal, wenn auf die Ressource verwiesen wird, eine neue Kopie erstellt wird. 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>
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!