我有像这样的tabcontrol ..
<TabControl SelectedIndex="{Binding SelectedTab}" Name="TabControlAll">
<TabItem Header="Hal 1" Style="{StaticResource AzureTabItem}">
<kor:Halaman1 DataContext="{Binding RTDetail}"/>
</TabItem>
<TabItem Header="Hal 2" Style="{StaticResource AzureTabItem}" >
<kor:Halaman2 />
</TabItem>
<TabItem Header="Hal 3" Style="{StaticResource AzureTabItem}">
<kor:Halaman3/>
</TabItem>
...
<TabItem Header="Hal 12" x:Name="Hal12" Style="{StaticResource AzureTabItem}">
<kor:Halaman12b x:Name="Halaman12b"/>
...
您可以看到的视觉图片如下:
Halaman12
用户控件你可以看到像这样的xaml:
<ScrollViewer HorizontalScrollBarVisibility="Auto" >
<StackPanel Orientation="Horizontal">
<kor:Halaman12a Width="300"></kor:Halaman12a>
<ItemsControl x:Name="ICHal12b" ItemsSource="{Binding ListART}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<kor:Halaman12b DataContext="{Binding}">
</kor:Halaman12b>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</ScrollViewer>
如何获取Halaman12b
中的所有文本框?我想在Itemscontrol UI生成后设置属性文本框,如大写,颜色等等。
但是当我更新ListART
数据时,我在检查我的虚拟机时仍然没有生成UI
private ObservableCollection<ART> listART;
public ObservableCollection<ART> ListART{
set{
this.listART=value;
OnPropertyChanged("ListART");
var itemscontrol= windows.Halaman12b.ICHal12b;
for(int i=0;i<itemscontrol.Items.Count;i++){
ContentPresenter content=itemscontrol.ItemsContainerGenerator.ContainerFromIndex(i);
List<TextBox> listTextbox=TreeHelper.FindChildren<TextBox>(content);
}
}
}
content
仍为空..如何通过itemssource
更新的数据更新用户界面?