none
WPF的控制項屬性HorizontalAlignment如何以Code實現? RRS feed

  • 問題

  • 請問, 因為我的WPF需要在Grid中動態生成控制項,

    生成時會同時設定一些屬性, 像是Margin, Text, HorizontalAlignment.

    請問HorizontalAlignment這個屬性有其他的寫法嗎?

    我一開始是直接打HorizontalAlignment = Stretch, 但失敗了.

    textBox = new System.Windows.Controls.TextBox

    { Text = i.ToString(), Margin = myThickness, HorizontalAlignment = Stretch};

    後來找到Margin的寫法, 試著宣告出一個HorizontalAlignment的物件來使用就成功.

    可是想請問有更直接的寫法嗎?

    總覺的我這樣如果要設定一項屬性就要宣告一個相對應的物件來使用好像怪怪的.

                    System.Windows.HorizontalAlignment ha= new System.Windows.HorizontalAlignment();
                    ha= System.Windows.HorizontalAlignment.Left;

    Thickness myThickness = new Thickness(50,0,0,0); textBlock = new System.Windows.Controls.TextBlock { Text = "Day " + i }; textBox = new System.Windows.Controls.TextBox

    { Text = i.ToString(), Margin = myThickness, HorizontalAlignment = ha}; Grid.SetRow(textBlock, 1); Grid.SetColumn(textBlock, 0); Grid.SetRow(textBox, 1); Grid.SetColumn(textBox, 1 ); InputQuantityArea.Children.Add(textBlock); InputQuantityArea.Children.Add(textBox);


    2020年11月5日 上午 01:58

解答

  • 這樣試看看:

    { Text = i.ToString(), Margin = myThickness, HorizontalAlignment = HorizontalAlignment.Left};
    
    

    • 已標示為解答 烏龍綠 2020年11月5日 上午 06:35
    2020年11月5日 上午 05:33

所有回覆

  • 這樣試看看:

    { Text = i.ToString(), Margin = myThickness, HorizontalAlignment = HorizontalAlignment.Left};
    
    

    • 已標示為解答 烏龍綠 2020年11月5日 上午 06:35
    2020年11月5日 上午 05:33
  • 這樣試看看:

    { Text = i.ToString(), Margin = myThickness, HorizontalAlignment = HorizontalAlignment.Left};
    

    成功了, 只是不知道為何, 我都有using System.windows了, 前方還要加上System.windows

    HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch

    如果直接用

    HorizontalAlignment = HorizontalAlignment.Stretch

    就出會出現成員 HorizontalAlignment.Stretch無法以執行個體參考進行存取, 請改用類形名稱

    2020年11月5日 上午 06:35