2017-11-07 3 views
-1

グリッドパネルとスタックパネルに複数のボタンコントロールを追加できますが、追加できませんでした。Canvasパネルにはこれを行う方法がありますか?WPFでキャンバスに複数のボタンを追加するには?

グリッドとスタックのコードは次のとおりです。

foreach (string subfolder in Directory.GetDirectories(path)) 
     { 
      ToggleButton btn = new ToggleButton(); 
      btn.Name = "btn" + column.ToString(); 
      btn.Content = subfolder.Substring(subfolder.LastIndexOf("\\") + 1); 
      btn.Tag = subfolder; 
      btn.Margin = new Thickness(15, 15, 10, 0); 
      btn.Width = 200; 
      btn.Height = 50; 
      btn.Checked += btn_Checked; 
      btn.Unchecked += btn_Unchecked; 
      btn.HorizontalAlignment = HorizontalAlignment.Left;     
      GridPanel.Children.Add(btn);//Adding controls to Grid Panel 
     } 

canvas Panelの操作方法は? ありがとうございます。

+2

Better:コードの背後にUI要素を作成しないでください。 ItemsTrolateのToggleButtonとItemsControlを使用し、ItemsControlのItemsPanelの目的のPanelを使用します。 – Clemens

+0

@クレメンス、私はWPFを初めて使っています。あなたはリンクを共有できますか? ItemsControlにコントロールを動的に追加する方法 – Anjali

+0

@Anjali https://stackoverflow.com/questions/7177432/how-to-display-items-in-canvas-through-binding –

答えて

0

要素を同じ方法でCanvasに追加します。ただ、Canvas内の位置を指定するための要素のCanvas.LeftCanvas.Top添付プロパティを設定します。

Canvas.SetLeft(btn, 10.0); 
Canvas.SetTop(btn, 15.0); 
theCanvas.Children.Add(btn); 

あなたは要素が表示されない場合、あなたはCanvasいくつかのサイズを与えていることを確認してください。

<Canvas x:Name="theCanvas" Width="100" Height="100" /> 
+0

私はそれについて作業し、同じことを更新します。 – Anjali

関連する問題