Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在WPF中的TabItem头中嵌入ProgressBar_Wpf_Custom Controls_Progress Bar_Tabitem - Fatal编程技术网

在WPF中的TabItem头中嵌入ProgressBar

在WPF中的TabItem头中嵌入ProgressBar,wpf,custom-controls,progress-bar,tabitem,Wpf,Custom Controls,Progress Bar,Tabitem,我正在处理的项目为用户打开的每个项目生成一系列选项卡。特别是对于某些选项卡,某些数据库点击和计算需要较长的时间。我试图确定一种简单的方法,在标签准备好时提醒用户,并认为进度条与我考虑的其他方法一样好或更好 我想知道是否有办法在TabItem的标题文本后面嵌入进度条,或者是否需要构建自己的CustomControl。我也不知道该怎么做,但是,我认为项目中存在后一种情况的一些示例,因此我可以尝试通过它们来了解这一点。您可以非常轻松地定义选项卡项的布局。这个XAML片段将创建一个带有一个TabItem

我正在处理的项目为用户打开的每个项目生成一系列选项卡。特别是对于某些选项卡,某些数据库点击和计算需要较长的时间。我试图确定一种简单的方法,在标签准备好时提醒用户,并认为进度条与我考虑的其他方法一样好或更好


我想知道是否有办法在TabItem的标题文本后面嵌入进度条,或者是否需要构建自己的CustomControl。我也不知道该怎么做,但是,我认为项目中存在后一种情况的一些示例,因此我可以尝试通过它们来了解这一点。

您可以非常轻松地定义选项卡项的布局。这个XAML片段将创建一个带有一个TabItem的TabControl,其中TabItem的头部有一个ProgressBar,ProgressBar上有一个TextBlock

当然,请定制这个XAML,让它看起来更漂亮:-D

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


您也可以使用网格而不是画布。@Tyrsius事实上,我几乎(从未)使用画布,我只是认为有必要将TextBlock放在ProgressBar的顶部(我的UI中没有堆叠的UI元素,所以我不知道)。看起来网格让我们把它们也叠起来,我总是喜欢网格而不是画布元素。看起来很好,我现在要解决的唯一问题是宽度。TabItem是TabControl.Resources的控件模板。。。或者只是将其设置为网格,并处理宽度:)@scott.smart我个人不使用画布,因为这适用于网格,我已经去编辑我的答案,以防未来的读者胆敢使用画布代替网格!:-D@docmanhattan是的,如果网格中的两个项目占据相同的位置(要么都是默认的,要么都在特定的单元格中),它们将按Z顺序相互堆叠。有时候很方便。