2012-01-18 8 views
2

私が取り組んでいるプロジェクトでは、ユーザーが開いたアイテムごとに一連のタブが生成されます。特に一部のタブでは、特定のデータベースのヒットと計算に時間がかかります。私は、タブが用意されているときにユーザーに警告する簡単な方法を決定しようとしていました。プログレスバーは、私が考えた他の方法よりも良いか良いかと思いました。WPFのTabItemヘッダーにProgressBarを埋め込む

TabItemのヘッダーテキストの後ろにプログレスバーを埋め込む方法があるのか​​、独自のCustomControlを作成する必要があるのか​​どうかは疑問です。私はどちらの方法をとっても手掛かりがありませんが、後者のいくつかの例がプロジェクトに存在すると思うので、私はそれを理解することができます。

答えて

2

かなり簡単にTabItemのレイアウトを定義できます。このXAMLのスニペットでは、TabItemのヘッダーにProgressBarがあり、ProgressBar上にTextBlockがあるTabItemが1つ作成されます。

はもちろん、実際にそれはあなたが同様の代わりにキャンバスのグリッドを使用することができます良い:-D

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

を見えるようにするために、このXAMLをカスタマイズしてください。 – Tyrsius

+0

@Tyrsius実際、Canvasを使用することはほとんどありませんでした。私はProgressBarの上にTextBlockを配置する必要があると思っていました(私はUI要素がUI上に積み重なっていないので、 )。グリッドのように見えるので、それらも積み重ねてください。私はいつもキャンバス要素へのグリッドを好みます。 – docmanhattan

+0

うまく動作するように見えますが、問題は今は幅がわかります。 TabItemはTabControl.ResourcesのControlTemplateです。または、それをグリッドにして幅を処理します:) –

関連する問題