0
我有一個tabcontrol從一個observablecollection填充。基於observablecollection,tabitems頭文件被設置,tabitem中的數據網格被填充。我想要做的是獲得tabitem標題並將其設置在文本塊中。我能夠獲得tabcontrol名稱並將其設置爲文本塊文本,而不是來自所選tabitem的頁眉。從動態填充tabcontrol獲取TabItem標題
<TabControl Grid.Row="1" ItemsSource="{Binding Workspaces}" Height="Auto" Background="Transparent" x:Name="TabsName" >
<TabControl.Resources>
<localHelper:HeaderAppendConverter x:Key="HeaderAppedConvrter"/>
</TabControl.Resources>
<TabControl.ItemTemplate >
<DataTemplate >
<TextBlock Text="{Binding HeaderText}" />
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate x:Name="Tabsitems">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="725" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1600" />
</Grid.ColumnDefinitions>
<dxg:GridControl Grid.Row="1" x:Name="NameGrid" ItemsSource="{Binding Data}" >
<dxgcore:GridControl.Columns>
<dxg:GridColumn Name="Month1" FieldName="Month01" Visible="True" AllowEditing="False" HorizontalHeaderContentAlignment="Center" CellStyle="{StaticResource NumberCellStyle}">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings HorizontalContentAlignment="Right" />
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.Header>
<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TabControl}}, Path=SelectedItem.Header, Converter={StaticResource HeaderAppendConverter}, ConverterParameter='01'}" />
</dxg:GridColumn.Header>
</dxg:GridColumn>
</dxg:GridColumn>
</dxgcore:GridControl.Columns>
<dxgcore:GridControl.View>
<dxgcore:TableView x:Name="NameGridView"
AllowEditing="False"
AllowBestFit="True"
AllowMoving="True"
AllowColumnFiltering="True"
IsColumnMenuEnabled="True"
ShowGroupPanel="False"
ShowAutoFilterRow="True"
AutoWidth="False"
NavigationStyle="Cell"
VerticalScrollbarVisibility="Visible"
HorizontalScrollbarVisibility="Visible"
RowStyle="{StaticResource customRowStyle}" >
</dxgcore:TableView>
</dxgcore:GridControl.View>
</dxg:GridControl>
</Grid>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
public class WorkSpace : INotifyPropertyChanged
{
private string headerText;
public string HeaderText { get { return headerText; } set { headerText = value; OnPropertyChanged("HeaderText"); } }
public override string ToString()
{
return HeaderText;
}
private List<Data> data;
public List<Data> Data { get { return data; } set { data = value; OnPropertyChanged("Data"); } }
此行
<TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TabControl}}, Path=Name}" />
設置TabControl的名字到文本塊我怎樣才能改變這種狀況,以獲得所選擇的TabItem的標題文字
你能告訴我在XAML代碼中的'TextBlock的地方嗎? –
@HenkaProgrammer xaml textblock在原來的帖子下面的「這行」表示該行顯示tabcontrol名稱 – ANewUser
請問我如何在代碼後面填充TabItems? –