MVP和动态标签

时间:2012-02-26 23:41:27

标签: gwt tabs mvp tabpanel

是否有人尝试使用动态添加的标签创建面板 我的要求:

  • 第一个标签不可关闭,并且有一个项目列表。
  • 从第一个视图中,您可以编辑由上下文菜单完成的项目并创建新选项卡。
  • 您可以通过创建新标签来添加新项目。

正如我可以说屏幕上的观点很少。 EditItemView,ListItemView ...
我的问题:

  • 如何以MVP风格创建此架构?

1 个答案:

答案 0 :(得分:0)

WPF中的动态标签项目

<TabControl  Grid.Row="4" Name="TabControla" 
    ScrollViewer.HorizontalScrollBarVisibility="Visible"  
    ItemsSource="{Binding ListOfProcess}"  Grid.ColumnSpan="2" Height="330"  
    VerticalAlignment="Top">

    <TabControl.ItemTemplate>
        <DataTemplate>                                 
            <TextBlock Text="{Binding ProcessDesc}"/>
        </DataTemplate>
    </TabControl.ItemTemplate>
    <TabControl.ContentTemplate>
        <DataTemplate>
            <StackPanel>
                <Grid Name="dtlgrid" Height="330" HorizontalAlignment="Left" >
                    <TextBlock Text="{Binding ProcessDesc}" Margin="4,6,3,28"/>
                    <my:DataGrid  ItemsSource="{Binding Path=FOIDtl}" 
                        AutoGenerateColumns="False" 
                        HorizontalScrollBarVisibility="Visible"  
                        Margin="4,6,3,28">

                        <my:DataGrid.Columns>
                            <my:DataGridTextColumn Header="Characteristics" 
                                Binding="{Binding Path=Character}" 
                                IsReadOnly="True" Width="140">
                            </my:DataGridTextColumn>
                            <my:DataGridTextColumn Header="Method Of Checking" 
                                Binding="{Binding Path=MethodOfCheck}" 
                                IsReadOnly="True" Width="140">
                            </my:DataGridTextColumn>
                            <my:DataGridTextColumn Header="(1)" 
                                Binding="{Binding Path=AfterReel1}" 
                                IsReadOnly="False" Width="70">
                            </my:DataGridTextColumn>
                            <my:DataGridTextColumn Header="(2)" 
                                Binding="{Binding Path=AfterReel2}" 
                                IsReadOnly="False" Width="70">
                            </my:DataGridTextColumn>
                            <my:DataGridTextColumn Header="(3)" 
                                Binding="{Binding Path=AfterReel3}" 
                                IsReadOnly="False" Width="70">
                            </my:DataGridTextColumn>
                            <my:DataGridTextColumn Header="(4)" 
                                Binding="{Binding Path=AfterReel4}" 
                                IsReadOnly="False" Width="70">
                            </my:DataGridTextColumn>
                            <my:DataGridTextColumn Header="(5)" 
                                Binding="{Binding Path=AfterReel5}" 
                                IsReadOnly="False" Width="70">
                            </my:DataGridTextColumn>
                            <my:DataGridTextColumn Header="Remarks" 
                                Binding="{Binding Path=Remarks}" 
                                IsReadOnly="False" Width="70">
                            </my:DataGridTextColumn>
                        </my:DataGrid.Columns>
                    </my:DataGrid>
                </Grid>                                    
            </StackPanel>                                            
        </DataTemplate>
    </TabControl.ContentTemplate>
</TabControl>