WPF用のPRISM2.0で動作する非常に単純なシナリオを取得しようとすると問題が発生します。アプリケーションのメインワークエリアをにしたいと思いますTabControl
。ビューを追加するたびに、にとして表示されるようTabItem
にしTabControl
ます。
簡単そうですね。
Shell.XAMLにある私のリージョンは次のようになります。
<Controls:TabControl
Name="MainRegion"
cal:RegionManager.RegionName="{x:Static Infrastructure:RegionNames.TabRegion}"
ItemContainerStyle="{StaticResource ShellTabItemStyle}" />
スタイル:ShellTabItemStyle
次のようになります:
<Style x:Key="ShellTabItemStyle" TargetType="{x:Type TabItem}">
<Setter Property="Header" Value="{Binding Content.DataContext.HeaderInfo, RelativeSource={RelativeSource Self}}" />
</Style>
これにより、のがビューののプロパティに設定Header
さTabItem
れHeaderInfo
ますDataContext
。(私はこの記事からこのアイデアを得ました)DataContext
私の見解は非常に単純Presenter
で、HeaderInfo
プロパティがあります:
public string HeaderInfo = "The Header Text";
私のビューは単純なWPFユーザーコントロールであり、次のようになります。
<StackPanel>
<TextBox Text="Hello World" Name="MyTextBox"></TextBox>
<Image Source="..SomeImage.PNG" Name="MyImage"></Image>
</StackPanel>
ここまでは順調ですね。領域にビューを追加すると、タブコントロールが表示され、テキストが「ヘッダーテキスト」に設定されたタブが表示されます。私の問題は、タブにコンテンツがまったく表示されないことです。私のビューには単純なものImage
とが含まれていますTextBox
が、どちらもに表示されませんTabItem
。スヌープを破って周りを見回すと、画像が見えません。
ここで何が欠けていますか?もっと簡単な方法はありますか?