Dire que j'ai XAML commeWPF: Manchettes ne fonctionne pas correctement
<TabControl Grid.Row="1" Grid.Column="2" ItemsSource="{Binding Tabs}" IsSynchronizedWithCurrentItem="True">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding TabTitle}" />
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<local:UserControl1 Text="{Binding Text}" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
Je veux demander où les propriétés ne TabTitle
et Text
viennent? Je pense que le devrait venir de chaque article de Tabs
droite? Say Tabs est un ObservableCollection<TabViewModel>
TabTitle
& Text
devrait être de TabViewModel
propriétés droite. Mais cela semble vrai dans une certaine mesure. TabTitle
est rempli correctement alors que Text
ne l'est pas.
Text
est déclarée comme propriété de dépendance à UserControl1
comme suit
public string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
public static readonly DependencyProperty TextProperty =
DependencyProperty.Register("Text", typeof(string), typeof(UserControl1), new UIPropertyMetadata(""));
Lorsque je onglets ne sont pas liés à un fonctionne bien
<TabControl Grid.Row="1" Grid.Column="1">
<TabItem Header="Tab 1">
<local:UserControl1 Text="Hello" />
</TabItem>
<TabItem Header="Tab 2">
<local:UserControl1 Text="World" />
</TabItem>
</TabControl>
Vérifiez la fenêtre de sortie pour les erreurs de liaison – benPearce
Initialisez-vous TabViewModel.Text avec une certaine valeur? Ou c'est nul? En outre, votre TabViewModel implémente-t-il l'interface INotifyPropertyChanged? – Nawaz