2014-07-22 3 views
1

로드 된 이벤트가있는 usercontrol이 있습니다.이 컨트롤을 컨텐츠 컨트롤의 XAML에 포함 시켰을 때로드 된 이벤트가 완벽하게 실행되었습니다.wpf 바인딩 사용자 정의 컨트롤이로드 됨 이벤트가 실행되지 않았습니다.

그러나이 내용을 콘텐츠 컨트롤에서 동적 바인딩으로 변경 했으므로 이제로드 된 이벤트가 실행되지 않습니다.

내 UserControl을의 헤더 :

<UserControl x:Class="DesignSuite.CanvasTools.DrawCanvas" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     mc:Ignorable="d" 
     xmlns:my="clr-namespace:DesignSuite.CanvasTools" Loaded="UserControl_Loaded"> 

내가 템플릿 사용하여 다음과 같은 방법에 ContentControl을 결합하고있다 : 콘텐츠 컨트롤을 상속 캔버스가로드 만 잘 나타나

<DataTemplate x:Key="FiniteStateMachineCanvasContentTemplate"> 
     <ContentControl Content="{Binding FiniteStateMachineCanvas}"/> 
    </DataTemplate> 

을 이벤트가 실행되지 않습니다. 바인딩에 대한

코드는 다음과 같습니다

public DrawCanvas FiniteStateMachineCanvas { get; set; } 

    public FiniteStateMachineCanvasTab (
     string NewName, 
     ref Toolstate toolstatemanager, 
     ref FiniteStateMachineDescriptor finiteStateMachineDescriptor) 
    { 
     HeaderText = NewName; 
     FiniteStateMachineCanvas = new DrawCanvas(ref toolstatemanager, canvastype_e.CANVAS_FINITESTATE, ref finiteStateMachineDescriptor); 
    } 

사람이 좋은 방향으로 포인터를 가지고 있습니까?

답변

0

내가 만든 새 생성자에서 InitalizeComponent을 실행 잊으 해결이이 문제의 원인이었다.