画面の 1 つから選択されたデバイスに基づいて、追加のウィザード ページを生成するウィザード コントロールがあります。追加のデバイスが設定されると、ウィザードはそれらのデバイス用の新しいウィザード ページの作成を追加します。
インスタンス化されたユーザー コントロール 'SDContentTemplate' があり、コンテンツ コントロールのコンテンツは、コンストラクターに渡されたオブジェクトによって設定されます。そのオブジェクトは、XML データソース (CDATA) から読み込まれる XAML です。
<Section Order="1" RepeatPerDevice="true" Title="Report Data">
<![CDATA[<DockPanel xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' xmlns:tk="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit">
<Border DockPanel.Dock="Top" BorderBrush="Black" BorderThickness="1" Width="170" HorizontalAlignment="Left">
<StackPanel>
<TextBlock Margin="0 0 0 16" TextAlignment="Center">Device X of Y</TextBlock>
<WrapPanel>
<TextBlock MinWidth="80" Padding="4 2">Manufacturer:</TextBlock>
<TextBlock MinWidth="80" Padding="4 2" Text="{Binding Path=SDDevice.Manufacturer}"></TextBlock>
</WrapPanel>
<WrapPanel>
<TextBlock MinWidth="80" Padding="4 2 4 6">Serial Number:</TextBlock>
<TextBlock MinWidth="80" Padding="4 2 4 6" Text="{Binding Path=SerialNumber}"></TextBlock>
</WrapPanel>
</StackPanel>
</Border>
</DockPanel>]]>
</Section>
SDContentTemplate コントロールには、この新しいユーザー コントロールを作成するコードによって設定されるパブリック オブジェクト Device があり、インスタンス化するときにそのオブジェクトを設定しています。
コンテンツ xaml がすべて読み込まれ、データ バインディングが機能していないことを除いて、すべてが正しく表示されます。テキストブロック内にデータが表示されていません。「ContentControl」のデータ コンテキストの設定と「SDContentTemplate」のデータ コンテキストの設定を試みましたが、テキスト ブロックにデータ値が入力されるようにデータ コンテキストを正しく設定する方法がわかりませんでした。 .
私が間違っていることについて何か提案はありますか?私は間違っていますか、これは不可能ですか?
ありがとう!