J'ai créé un bouton dans Blend en modifiant son style. J'ai ajouté plusieurs blocs de texte avec l'intention d'afficher des données à l'utilisateur en temps réel. Cependant, je ne sais pas comment interfacer avec ces blocs de texte dans mon code.Windows 7 Bouton de téléphone avec plusieurs blocs de texte
Mon style XAML est le suivant:
<ControlTemplate TargetType="Button">
<Grid Background="Transparent">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver"/>
<VisualState x:Name="Pressed"/>
<VisualState x:Name="Disabled"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border x:Name="ButtonBackground" BorderThickness="{TemplateBinding BorderThickness}" Background="{StaticResource PhoneAccentBrush}" CornerRadius="0" Margin="8,12,12,12">
<TextBlock Margin="121,5,98,0" TextWrapping="Wrap" Text="Current Program:" Height="36" VerticalAlignment="Top"/>
</Border>
<TextBlock Margin="92,68,80,81" TextWrapping="Wrap" Text="" RenderTransformOrigin="0.265,0.51" HorizontalAlignment="Center" Width="271" x:Name="programName"/>
<TextBlock Height="32" Margin="21,0,16,12" TextWrapping="Wrap" Text="Date:" VerticalAlignment="Bottom" x:Name="CurrentDate"/>
</Grid>
</ControlTemplate>
Mon code pour afficher le bouton est la suivante:
<Grid x:Name="middleRow" Grid.Row="2">
<Button Content="Button" Margin="8,8,0,8" Style="{StaticResource ButtonCenter}" x:Name="Current" Click="Current_Click" d:LayoutOverrides="GridBox" />
</Grid>
Dans mon code derrière après la InitializeComponent(); Je voudrais changer le bloc de texte ProgramName et le bloc de texte CurrentDate.
Je pense que je pourrais avoir à créer un contrôle pour le faire mais je ne suis pas sûr. Mes tentatives pour le faire ont échoué (erreurs diverses). Puis-je accéder à ces blocs de texte dans le code? S'il vous plaît, faites-moi savoir.
MISE À JOUR:
je en faire liquidée comme ceci:
<Button Margin="8,8,0,8" x:Name="Current" Click="Current_Click">
<Button.Content>
<StackPanel>
<TextBlock x:Name="ProgramName" Text="program name" HorizontalAlignment="Center" />
<TextBlock x:Name="CurrentDate" Text="current date" HorizontalAlignment="Center" />
</StackPanel>
</Button.Content>
</Button>
J'appliqué mes styles à partir du modèle dans le mélange et il semble fonctionner maintenant.