0

我有一个向导控件,它将根据从其中一个屏幕中选择的设备生成其他向导页面。设置其他设备后,向导将为这些设备添加创建新向导页面。

我有一个实例化的用户控件“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”的数据上下文,但我无法弄清楚如何正确设置数据上下文,以便用数据值填充文本块.

关于我做错了什么有什么建议吗?我错了吗,这是不可能的?

谢谢!

4

1 回答 1

1

我建议下载像Snoop这样的东西来查看DataContext运行时的实际情况

于 2011-09-01T16:25:50.783 回答