我有一個嚮導控件,它將根據從一個屏幕中選擇的設備生成其他嚮導頁面。一旦設置了其他設備,嚮導將爲這些設備添加新建嚮導頁面。動態加載內容並設置綁定
我有一個實例化的用戶控件'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控制具有由代碼創建這個新的用戶控件設置一個公共的對象設備,和我設置該對象時,它被實例化。
內容xaml全部加載,除了數據綁定不起作用外,所有內容都正確顯示。文本塊內沒有顯示數據。我曾嘗試設置'ContentControl'的數據上下文以及設置'SDContentTemplate'的數據上下文,但我一直無法弄清楚如何正確設置datacontext,以便文本塊填充數據值。
關於我在做什麼的任何建議是錯誤的?我錯了,這是不可能的?
謝謝!
我會嘗試設置ItemsSource屬性,但是這僅僅是一個範圍。你可以附上一個通過轉換器,所以你可以看到它是否得到這麼多,如果它是拋出任何錯誤。 – Paparazzi
我基本上是錯誤地設置數據上下文。在我更改了contenttemplate的數據上下文之後,我能夠使其工作。 我在想我有一個輕微的操作順序問題。 感謝Snoop的建議,我絕對喜歡這個工具。我將其標記爲答案,因爲它幫助我馬上找出解決方案。 – tc44