나는 목록 상자에 대한 데이터 템플릿을 동적으로 만들려고합니다. 이것은 사용자 지정 UserControl입니다. 이 UserControl에는 DependencyProperty이 있으며 모든 유형의 IEnumerable <>을 사용할 수 있습니다.C# WPF 프로그래밍 방식으로 만든 StackTelel의 DataTemplate Dockpanel은 아무 효과가 없습니다.
이 잘 작동합니다 ...하지만 개체가이 속성이 포함 된 경우 출력은 항상
- 속성/값
- 속성/값
입니다. 그러나 나는 그 속성들이 나란히 배열되기를 원한다. 마찬가지로 :
개체 1 :
- Porperty/값 속성/값
개체 2 :
- 속성/값 속성/값
어디 내가 잘못 ? 나는 먼저 Stackpanel을 만들고 있는데, Stackpanel에서는 Dockpanels에 레이블이 들어 있습니다.
여기 미리보기가 있습니다.
DataTemplate _NewData = new DataTemplate();
FrameworkElementFactory _template = new FrameworkElementFactory(typeof(StackPanel));
foreach (var _FProperty in view.CurrentItem.GetType().GetProperties())
{
FrameworkElementFactory _firstTemplateChild = new FrameworkElementFactory(typeof(DockPanel));
FrameworkElementFactory _childOneForDock = new FrameworkElementFactory(typeof(Label));
_childOneForDock.SetValue(Label.ContentProperty, _FProperty.Name);
_firstTemplateChild.AppendChild(_childOneForDock);
FrameworkElementFactory _childTwoForChild = new FrameworkElementFactory(typeof(Label));
_childTwoForChild.SetBinding(Label.ContentProperty, new Binding(_FProperty.Name));
_firstTemplateChild.AppendChild(_childTwoForChild);
_template.AppendChild(_firstTemplateChild);
}
_NewData.VisualTree = _template;
ListBoxInPopUp.ItemTemplate = _NewData;
하지만 shouldn't StackPanel의에서 dockpanel 그들에게 나란히 배치? – Mark
@Mark - Dock 속성을 설정하지 않았습니다 (또는 그 비트를 놓친 것입니까?) – ChrisF
Dock 속성을 일반적으로 설정하지 않으면 Dockpanel의 항목이 나란히 정렬되어 있습니까? 나는 _childOneForDock.SetValue (DockPanel.DockProperty, Dock.Left)로 시도했다. 및 _childTwoForChild.SetValue (DockPanel.DockProperty, Dock.Right); 그 효과가 없습니다 : ( – Mark