Wpf 动态加载内容并设置绑定
我有一个向导控件,它将根据从其中一个屏幕中选择的设备生成其他向导页面。设置其他设备后,向导将为这些设备添加创建新向导页面 我有一个实例化的用户控件“SDContentTemplate”,内容控件的内容由传递到构造函数的对象设置。该对象是从XML数据源(CDATA)加载的XAMLWpf 动态加载内容并设置绑定,wpf,data-binding,dynamic-content,Wpf,Data Binding,Dynamic Content,我有一个向导控件,它将根据从其中一个屏幕中选择的设备生成其他向导页面。设置其他设备后,向导将为这些设备添加创建新向导页面 我有一个实例化的用户控件“SDContentTemplate”,内容控件的内容由传递到构造函数的对象设置。该对象是从XML数据源(CDATA)加载的XAML 设备X/Y 制造商: 序列号: ]]> SDContentTemplate控件有一个公共对象设备,该设备由创建此新用户控件的代码设置,我在实例化该对象时设置它 内容xaml已全部加载,除数据绑定不起作用外,所有内容均
设备X/Y
制造商:
序列号:
]]>
SDContentTemplate控件有一个公共对象设备,该设备由创建此新用户控件的代码设置,我在实例化该对象时设置它
内容xaml已全部加载,除数据绑定不起作用外,所有内容均正确显示。文本块中未显示任何数据。我已尝试设置“ContentControl”的数据上下文以及“SDContentTemplate”的数据上下文,但我无法找出如何正确设置datacontext,以便用数据值填充TextBlock
对我做错了什么有什么建议吗?我弄错了,这是不可能的吗
谢谢 我建议下载一些东西,如查看运行时实际的
DataContext
是什么我会尝试设置ItemsSource属性,但这只是一个范围。你可以附加一个直通转换器,这样你就可以看到它是否有那么远,是否抛出了任何错误。我基本上是错误地设置了数据上下文。在我更改了contenttemplate的数据上下文之后,我就能够让它工作了。我想我有一个轻微的操作顺序问题。谢谢你的建议,我非常喜欢这个工具。我将其标记为答案,因为它帮助我立即找到了解决方案。我下载了它并检查了DataContext,这有助于我在控件实际显示时发现它是空的。谢谢你的建议!
<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>