动态加载内容和设置绑定

时间:2011-09-01 16:22:17

标签: wpf data-binding dynamic-content

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

我有一个实例化的用户控件'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'的数据上下文,但是我还没弄清楚如何正确设置datacontext以便使用数据值填充文本块

有关我做错的任何建议吗?我错了,这是不可能的?

谢谢!

1 个答案:

答案 0 :(得分:1)

我建议下载类似Snoop的内容,以查看实际DataContext在运行时的内容

相关问题