WPF에서 시각적 폼 디자이너를 구현하려고합니다. 나는 사용자가 드래그 앤 드롭 (Textbox, Textblock, Combobox, Checkbox, Image, Button) 할 수있는 Canvas를 가지고있다. 여태까지는 그런대로 잘됐다. 이제는 사용자가 캔버스에 넣은 모든 컨트롤 (VS 2008에서와 같이)을 나열하는 콤보 상자를 구현하려고합니다.콤보 상자 WPF C# 4.0의 목록 단추 컨트롤
콤보 상자는 컨트롤의 Name 속성을 표시합니다. 그것은 버튼과 체크 상자를 제외한 모든 컨트롤에 대해 잘 작동하며 이유를 파악할 수 없습니다. 콤보 상자는 ObservableCollection에 바인딩되어 있으며 콤보 상자의 항목 컬렉션이 올바로 채워지지만 버튼이나 체크 상자를 선택하면 이름이 SelectedItem으로 표시되지 않습니다. 그래서 여기 내 바인딩된다
<ComboBox Name="comboBoxCurrentControls" IsEditable="false"
ItemsSource="{Binding AllFormControls}" DisplayMemberPath="Name"
SelectedValuePath="Name"
SelectedItem="{Binding Path=SelectedCtl, Mode=TwoWay}"
당신은 문제를 재현 할 때 버튼을 사용하면 간단하게 채우기 Codebehind가에 ObservableCollection<T>
을하고 그 위에 콤보 상자를 바인딩 할 수 있습니다. 선택시 Combobox는 ButtonItem을 SelectedItem으로 표시하지 않습니다. 누군가이 동작을 설명하거나 해결 방법을 말해 줄 수 있습니까? 사전에
감사
크리스
P.s : 나는 또한 ObservableCollection<FrameworkElement>
를 사용하려하지만 도움이되지 않았다.
대신에 이름을 어떻게 표시됩니다 조금 인터넷 검색으로, 나는이 건너 온? – Richard
아무 것도. 그것은 단순히 비어 있습니다. 그러나 comboBox가 펼쳐지면 Button/Checkbox의 이름이 목록에 있습니다. –
SelectedCtl을 설정하는 코드를 제공 할 수 있습니까 –