2017-03-27 2 views
0

이 기술은 신입입니다. 문제는 ComboBox에 위치를 동적으로 추가 할 수 없다는 것입니다. 클릭 이벤트에 comboBox를 추가하는 Button이 있습니다. 버튼은 ComboBox를 첫 번째 버튼 아래에 추가해야합니다. 이 코드를 작성했습니다 :UWP에서 위치가있는 ComboBox를 동적으로 추가하십시오.

private void button1_Click(object sender, RoutedEventArgs e) 
    { 
     ComboBox combobox = new ComboBox(); 
     combobox.ItemsSource = credithr_list; 
     // Location of comboBox should add here 
     grid2.Children.Add(combobox); 
    } 

어떻게 수정해야 원하는 결과를 얻을 수 있습니까?

+0

정확히 원하는 결과는 무엇입니까? 여기에서 성취하고자하는 것에 대해 더 자세히 설명해주십시오. – Rafael

+0

추가 버튼을 클릭 할 때마다 동적으로 콤보 상자를 추가해야합니다. 새 ComboBox가 이전 ComboBox 아래에 나타납니다. 그리고 미안하지만 나는 좋은 영어가 아니다. –

+2

@AlphaBot 그리드를 컨테이너로 사용하는 것 같습니다. 내가 맞다면, 그리드를 StackPanel로 교체해보십시오. 이제 각 클릭하면 콤보 상자가 추가되지만 모두 같은 위치에 그려집니다. –

답변

0

이 방법으로 콤보 상자를 추가 할 수 있습니다

private void button1_Click(object sender, EventArgs e) 
    { 
     ComboBox combobox = new ComboBox(); 
     combobox.Items.Clear(); 
     foreach (string item in new List<string>() { "a", "b", "c" }) 
     { 
      combobox.Items.Add(item); 
     } 
     this.Controls.Add(combobox); 
    } 
+0

콤보 상자에 항목을 추가하는 방법을 알고 있습니다. 추가 버튼을 클릭 할 때마다 동적으로 콤보 상자를 추가해야합니다. –

+0

@AlphaBot 오 그래, 질문을 놓쳤습니다. –

+0

@ S.Petrosov –

1

내 솔루션은 UWP XAML에서 RelativePanel 컨트롤을 기반으로합니다.

콤보 상자는 상대 패널 내부에 살며 아래, 위, 등등과 같은 속성을 사용합니다. 원하는 결과를 얻을 수 있습니다. 여기

내가 무슨 짓을 :

 private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     //create the combo box 
     var comboBox = new ComboBox(); 
     //add the items to it 
     comboBox.Items.Add("1"); 
     comboBox.Items.Add("2"); 

     //if there are no items in the relative panel, then the first combo box should go at the top 
     if (RelPanel.Children.Count == 0) 
     { 
      RelPanel.Children.Add(comboBox); 
      RelativePanel.SetAlignTopWithPanel(comboBox, true); 
     } 
     else 
     { 
      //if there are items already, the new combo box goes below the last one added 
      RelativePanel.SetBelow(comboBox, RelPanel.Children.Last()); 
      RelPanel.Children.Add(comboBox); 
     } 
    } 

는 희망이 당신을 돕고 당신이 원하는 것입니다.

편집 : 스택 패널을 사용할 수 있지만 상대 패널을 사용하면 항목의 배치를보다 잘 제어 할 수 있습니다.

+0

도와 줘서 고마워. 나는 그것을 시행하려고 노력할 것이다. 다시 고마워. –

관련 문제