Ik heb het volgende stukje xaml, dat mij een Label laat zien.
Achter al onze Labels hebben we een dubbele punt staan, maar het wil ook wel gebeuren dat we een Label gebruiken als leeg blok, opdat de uitlijning van een form goed verloopt.
Nu moet bij een leeg label wel de dubbele punt wegblijven!
Dat heb ik geprobeerd met onderstaande code:
Disclaimer:
namespace:CustomLabel mag je even vergeten...
MyLabel heet ook eigenlijk anders, even werktitel project eruit gehaald
Alle namespaces kloppen; daar kan het niet aan liggen.
De Interaction.Triggers zijn nog nieuw voor mij. Voorheen werkte ik met WPF, daar heb ik ook een mooi dik boek van liggen, en daar kon je met DataTriggers precies doen wat ik wilde; en dan werd het ook netjes voorgekauwd. Met Silverlight blijkt dat wat moeilijker. Misschien gebruik ik wel de verkeerde soort trigger hier: ik weet het niet.
Zou misschien de value van MyLabel nooit echt Null worden?
Moet ik de Comparison="" ook nog gebruiken? Die had ik, en dan op 'Equals' gezet, maar dat hielp niks.
De code wordt wel uitgevoerd, want als ik er een foutje in maakt, knalt de applicatie er gelijk op
Achter al onze Labels hebben we een dubbele punt staan, maar het wil ook wel gebeuren dat we een Label gebruiken als leeg blok, opdat de uitlijning van een form goed verloopt.
Nu moet bij een leeg label wel de dubbele punt wegblijven!
Dat heb ik geprobeerd met onderstaande code:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <Style TargetType="namespace:CustomLabel"> <Setter Property="Template"> <Setter.Value> <ControlTemplate> <StackPanel Orientation="Horizontal" MinWidth="250" VerticalAlignment="Top" Margin="0,0,0,16"> <ContentPresenter x:Name="MyLabel"/> <TextBlock x:Name="Colon" Text=":" Visibility="Visible"> <i:Interaction.Triggers> <ia:DataTrigger Binding="{Binding MyLabel}" Value="{x:Null}"> <ia:ChangePropertyAction TargetObject="{Binding Colon}" PropertyName="Visibility" Value="Collapsed"/> </ia:DataTrigger> </i:Interaction.Triggers> </TextBlock> </StackPanel> </ControlTemplate> </Setter.Value> </Setter> </Style> |
Disclaimer:
namespace:CustomLabel mag je even vergeten...
MyLabel heet ook eigenlijk anders, even werktitel project eruit gehaald
Alle namespaces kloppen; daar kan het niet aan liggen.
De Interaction.Triggers zijn nog nieuw voor mij. Voorheen werkte ik met WPF, daar heb ik ook een mooi dik boek van liggen, en daar kon je met DataTriggers precies doen wat ik wilde; en dan werd het ook netjes voorgekauwd. Met Silverlight blijkt dat wat moeilijker. Misschien gebruik ik wel de verkeerde soort trigger hier: ik weet het niet.
Zou misschien de value van MyLabel nooit echt Null worden?
Moet ik de Comparison="" ook nog gebruiken? Die had ik, en dan op 'Equals' gezet, maar dat hielp niks.
De code wordt wel uitgevoerd, want als ik er een foutje in maakt, knalt de applicatie er gelijk op

heidiulrich.nl | adventura.nl / eigenzinnige rugzakavonturen in europa