2012-02-26 160 views
0

有没有人尝试使用动态添加标签创建面板。
我的要求:MVP和动态标签

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

正如我可以说在屏幕上的几个意见。 EditItemView,ListItemView ...
我的问题:

  • 如何创建MVP风格这种架构?

回答

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> 
项目