2011-09-01 4 views
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 컨트롤이 새로운 사용자 컨트롤을 만드는 코드에 의해 설정되는 공개 대상 장치를 가지고 있으며,이 인스턴스화 될 때 그 객체를 설정하고있다.

xaml 내용이 모두로드되고 데이터 바인딩이 작동하지 않는 것을 제외한 모든 내용이 올바르게 표시됩니다. 텍스트 블록 내에 데이터가 표시되지 않습니다. 'ContentControl'의 데이터 컨텍스트를 설정하고 'SDContentTemplate'의 데이터 컨텍스트를 설정하려고 시도했지만 데이터 블록이 데이터 값으로 채워지도록 datacontext를 올바르게 설정하는 방법을 파악할 수 없었습니다. .

내가 뭘 잘못하고 있는지에 대한 제안이 있으십니까? 내가 잘못하고 이것이 불가능한가요?

감사합니다.

+0

나는 ItemsSource 속성을 설정하려고 할에있다하지만 그냥 손이 닿지 무엇인지 볼 수 Snoop 같은 것을 다운로드 제안. 그리고 패스 스루 변환기를 연결하여 오류가 발생하는지 멀리 볼 수 있는지 확인할 수 있습니다. – Paparazzi

+0

기본적으로 데이터 컨텍스트를 잘못 설정했습니다. contenttemplate의 데이터 컨텍스트를 변경 한 후에는 작동시킬 수있었습니다. 나는 약간의 조작 문제가 있다고 생각한다. 스눕 제안에 감사드립니다. 나는 도구가 좋습니다. 그 해결책으로 즉시 해결 방법을 찾는데 도움이 되었기 때문에 답으로 표시했습니다. – tc44

답변

1

나는 실제 DataContext 런타임

+0

컨트롤을 실제로 표시 할 때 컨트롤이 비어 있음을 알 수 있도록 DataContext를 다운로드하고 검사했습니다. 큰 충고에 감사드립니다! – tc44