2011-09-07 4 views
1

동적으로 바인딩을 만들고이 바인딩을 즉석에서 생성 된 문자열 객체에 설정하고 이것을 콤보 상자의 displaymemberpath 속성에 바인딩하려고합니다. .바인딩을 동적으로 만들고 실버 라이트로 만든 문자열 객체로 설정합니다.

어떻게해야합니까?

여기 내 코드는 있지만 작동하지 않는 것 같습니다. 당신이 찾고있는

private void ComboValue_DropDownClosed(object sender, EventArgs e) 
    { 
     ComboBox combo = (ComboBox)sender; 
     int selectedItemCount = 0; 
     foreach (MyItem item in combo.Items) 
     { 
      if (item.IsSelected == true) 
       selectedItemCount = selectedItemCount + 1; 
     } 
     string SelectedComboCount = selectedItemCount.ToString(); 
     Binding b = new Binding(); 
     b.Source = SelectedComboCount ; 
     combo.SetBinding(ComboBox.DisplayMemberPathProperty, b); 
    } 
+1

+1 왜냐하면 나는 새내기가 기회가 주어지지 않고 downvoted 것을 싫어하기 때문이다. 일반적으로 (영어가 모국어가 아니기 때문에) 영어 실력이 매우 약한 사람들조차도 작성한 질문을 이해할 수 있습니다. 그러나 나는이 질문에서 텍스트를 찾기가 매우 어렵다. 커다란 단 하나의 문장을 작은 문장으로 나눌 수있는 완전한 멈춤을 포함시킬 수 있습니까? – AnthonyWJones

+0

@AnthonyWJones : 정리하기 위해 최선을 다했습니다 ... 가난한 초보자 :) –

답변

0

를 : (나는이 하나의 방법을 사용하는 콤보 상자의 번호가 원인 이유 즉, 내가 이런 식으로 일을 해요입니다) 어떻게 내가 바인딩의 경로 속성을 설정합니다 Text 속성 당신은 XAML에서 바인딩을 수행 할 수 있습니다

<ComboBox Name="cb"> 
     ItemsSource="{StaticResource myCities}" 
     Text="{Binding ElementName=cb, Path=Items.Count}"> 
</ComboBox> 

편집 :

Binding binding = new Binding(); 
binding.Source = combo; 
binding.Path = new PropertyPath("Items.Count"); 
combo.SetBinding(ComboBox.TextProperty, binding); 
: 동적으로 콤보를 만드는 때문에
, 여기에 바인딩을 수행하는 방법이다

편집 2 : 나쁘다. 이것은 WPF 용입니다. Silverlight에서는 Text 속성을 사용할 수 없습니다.

+0

안녕하세요, 저는 콤보가 동적으로 만들어진 xaml에 바인딩을 수행하지 않습니다. 사용자가 클릭하여 멀티 선택 콤보 상자를 만들고 이것은 모두 동적으로 완료됩니다. 뒤에 코드. – Mike

+0

좋아, 나는 동적으로 바인딩을 만드는 방법을 보여주는 예제를 추가했다. 희망이 도움이됩니다! – alf

+0

안녕하세요, Alfonso 답장을 보내 주셔서 감사합니다. 속성 경로를 설정하면 항목이 클래스 이름이라고 생각하십니까? 당신이 경로로주는 것을 설명 할 수 있습니까? 또한 silverlight에 comboBox.TextProperty가 없습니다. – Mike

관련 문제