我在我的grid
上動態創建CheckBoxes
。現在我也想動態設置margin
(尊重CheckBox
),但不確定最好的方法是什麼。如何在Silverlight中動態設置CheckBox邊距
例如,
- 如果只有一個
CheckBox
那麼margin
應{5,0,0,0}
- 如果有
CheckBoxes
則第一應具有{5,0,0,0}
和第二應具有{10,0,0,0}
等上。 我擔心左邊緣。這些複選框創建基於List<String>
。
XAML:
<Grid x:Name="SynonymsGrid" Grid.Column="2" Margin="0,35,0,0" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
</Grid>
後臺代碼:
List<String> names = new List<string>() { "one", "two", "three" };
foreach (var name in names)
{
CheckBox chb = new CheckBox();
chb.Content = name;
chb.Margin = new System.Windows.Thickness { Left = 5, Top = 0, Right = 0, Bottom = 0 };
synonymsGrid.Children.Add(chb);
}
上面的代碼將設置所有複選框在一個位置這是顯而易見的。我想過使用for loop
,但不知道什麼是最好的方法。
解決方案:
for (int i = 0; i < names.Count; i++)
{
CheckBox chb = new CheckBox();
chb.Content = names[i];
chb.Margin = new System.Windows.Thickness { Left = i * 150, Top = 0, Right = 0, Bottom = 0 };
synonymsGrid.Children.Add(chb);
}
我找到了解決方案並更新了答案。感謝您的期待。 – CSharper
@OmegaMan感謝您的編輯。下次我會記住這些事情。 – CSharper