说我有XAML像WPF:绑定无法正常工作
<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>
我要问哪里的TabTitle
和Text
性从何而来?我认为应该来自Tabs
的每一项权利?说标签是ObservableCollection<TabViewModel>
TabTitle
& Text
应该从TabViewModel
属性权利。但在某种程度上似乎是正确的。 TabTitle
正确填充,而Text
不正确。
Text
在UserControl1
如下
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(""));
当我有没有绑定到ObservableCollection<TabViewModel>
绑定选项卡工作正常
<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>
检查输出窗口是否存在绑定错误 – benPearce 2010-10-31 04:59:22
您是否使用某个值初始化TabViewModel.Text?或者它是空的?另外,您的TabViewModel是否实现INotifyPropertyChanged接口? – Nawaz 2010-12-01 06:19:10