J'ai créé un contrôle de fenêtre personnalisé (hérité de Windows), tout va bien sauf le texte de ma barre d'état. J'ai ajouté une nouvelle propriété à mon contrôle appelée "StatusText" et ce texte est affiché dans un TextBlock dans le style de mon contrôle.Comment mettre à jour une partie d'un style personnalisé WPF
Mais quand je change la propriété StatusText de ma fenêtre le texte ne change pas, ce n'est pas mise à jour. D'un autre côté, si je change la propriété Title de ma fenêtre (qui est une propriété héritée), le titre change correctement.
Alors peut-être que je n'ai pas correctement déclaré ma propriété StatusText? Ou je dois demander explicitement le TextBlock dans mon style pour mettre à jour?
Merci pour votre aide.
StatusText Déclaration Propriété:
private string m_StatusText;
public string StatusText
{
get { return m_StatusText; }
set { m_StatusText = value; }
}
XAML style pour la barre d'état:
<!-- Status area -->
<Border Grid.Row="2" Style="{DynamicResource SFM_StatusAreaStyle}" CornerRadius="0, 0, 7, 7" BorderThickness="1, 1, 1, 0">
<Grid Style="{DynamicResource SFM_TitleBarStyleReflect}">
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6, 0, 0, 2" Foreground="{DynamicResource B_TextColor}"
Text="{Binding Path=StatusText, RelativeSource={RelativeSource AncestorType={x:Type local:SiluForm}, Mode=FindAncestor}}" />
</Grid>
</Border>
pouvez-vous s'il vous plaît poster votre code? Je suppose que vous voulez utiliser la liaison de données pour effectuer le changement de texte, mais personne ne sait exactement ce que vous faites, sauf si vous publiez du code/XAML. – Dave