2012-01-18 68 views
2

我正在处理的项目为用户打开的每个项目生成一系列选项卡。特别是对于某些选项卡,某些数据库命中和计算需要很长时间。我试图确定一个简单的方法来提醒用户,当标签准备好并且计算出进度条与我考虑的其他方式一样好或更好时。在WPF中的TabItem头中嵌入ProgressBar

我想知道是否有一种方法来在TabItem的标题文本后面嵌入进度条,或者如果我需要构建自己的CustomControl。我也不知道该怎么做,但是,我认为项目中存在后者的一些例子,所以我可以试着通过它们来弄清楚。

回答

2

您可以很容易地定义TabItem的布局。这段XAML将创建一个带有一个TabItem的TabControl,其中TabItem的标题在ProgressBar上具有带有TextBlock的ProgressBar。

当然,请自定义此XAML实际上使它看起来好:-D

<TabControl> 
    <TabItem> 
     <TabItem.Header> 
      <Grid> 
       <ProgressBar Width="100" /> 
       <TextBlock Text="Some Tab"/> 
      </Grid> 
     </TabItem.Header> 
    </TabItem> 
</TabControl> 
+0

您可以使用网格,而不是一个帆布为好。 – Tyrsius 2012-01-18 16:57:36

+0

@Tyrsius其实,我从来没有(从不)使用Canvas,我只是认为有必要在ProgressBar之上获取TextBlock(我没有在UI中堆叠的UI元素,所以我不知道)。看起来像网格让我们堆叠它们,我总是喜欢一个网格到一个画布元素。 – docmanhattan 2012-01-18 17:06:53

+0

似乎工作正常,只有问题我现在要工作是宽度。该TabItem是TabControl.Resources的ControlTemplate ...或者只是使它成为一个网格和宽度处理:) – 2012-01-18 17:11:44