Qual è il modo xamly più breve per rendere un contenuto di ToggleButton
dipendente dal suo stato selezionato?ToggleButton/CheckBox contenuto a seconda del suo stato controllato?
In WPF probabilmente andrei per un DataTrigger
che non esiste in Silverlight.
Ho provato quanto segue, ma non funziona, non appena includo i trigger, il legame con l'origine è interrotto. I trigger non funzioneranno comunque.
<ToggleButton
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
IsChecked="{Binding IsArchived, Mode=TwoWay}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<ei:ChangePropertyAction
TargetObject="{Binding
RelativeSource={RelativeSource AncestorType=ToggleButton}}"
PropertyName="Content" Value="Unarchive project"/>
</i:EventTrigger>
<i:EventTrigger EventName="Unchecked">
<ei:ChangePropertyAction
TargetObject="{Binding
RelativeSource={RelativeSource AncestorType=ToggleButton}}"
PropertyName="Content" Value="Archive project"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ToggleButton>
mio modo non si è qualificata più breve, quindi sto distacco come un commento: sovrascrivere il template ToggleButton, utilizzare due TextBox, impostare la loro proprietà della visibilità del usando il VisualStateManager. – jv42
@ jv42, che non influirà sul controllo al primo limite, solo se modificato dopo il rendering, vedere [risposta] (http://stackoverflow.com/a/9989048/75500) che risolve anche questo. – Shimmy
Non ho mai avuto problemi con quello. Forse mi sono perso qualcosa. – jv42