많은 DependencyProperties가있는 컨트롤 집합에서 작업하고 있습니다. 속성 자체는 DependencyObjects이며 속성의 get 메서드 중에 만들어집니다. Get 메서드 중 SetValue() 메서드를 사용하여 propertybag로 다시 설정되므로 Xaml에서 실제로 유효하며 속성은 시각적 트리에서 명시 적으로 만들지 않고도 스토리 보드로 만들 수 있습니다.PropertyValueEditor 및 DependencyObject in Blend 3 - Silverlight DesignTime 지원
이러한 DependencyObjects는 DataBinding을 지원하기 위해 DependencyProperties로 등록 정보를 모두 갖습니다. 그것들은 위에서 언급 한 것처럼 스토리 보드에서 사용할 수 있습니다.
동시에 이러한 속성에 대해 Blend 3에 대한 특별한 designtime 지원을 개발하고 InlineEditorTemplate을 컨트롤 형태로 만들었습니다. 나는 다음과 같은 한
var vectorEditControl = new FrameworkElementFactory(typeof (VectorEditorControl));
var dataTemplate = new DataTemplate {VisualTree = vectorEditControl};
InlineEditorTemplate = dataTemplate;
컨트롤에서 : 나는 템플릿을 생성하고이 같은 PropertyValueEditor 위해 설정
<Grid DataContext="{Binding Value}">
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding Path=X, Mode=TwoWay}"/>
<TextBox Text="{Binding Path=Y, Mode=TwoWay}"/>
<TextBox Text="{Binding Path=Z, Mode=TwoWay}"/>
</StackPanel>
</Grid>
에디터가 나타나 데이터를 편집 할 수 있습니다. 디버깅 중에도 데이터가 실제로 DependencyObjects의 DependencyProperties로 다시 설정되지만 Xaml에는 아무런 변화가 없습니다. 따라서 데이터는 실제로 Xaml에서 어떤 식 으로든 유지되지 않으며 Xaml 파일을 닫고 다시 열 때 손실됩니다.
실제로 Xaml에 들어가기 위해 특별히해야 할 일이 있습니까? 나는 이것이 자동적으로 일어날 것이라는 인상을 받았다.
감사합니다. 이제 저는 오늘 밤 벽에 머리를 대고 뛸 필요가 없습니다. –