我有一些字段的簡單形式。所以我決定添加一些帶有文本框和標籤的DataField。標籤可管理,它們的長度可以改變,我需要將我的文本框放在距離左側相同的距離。我該如何做這件事?Silverlight數據字段內容對齊
3
A
回答
2
嘗試設置
tk:DataField.IsFieldGroup="True"
其中T k是工具包數據字段的名稱空間;在所有字段標籤的父容器上,您希望具有相同的寬度。
像
<Grid tk:DataField.IsFieldGroup="True">...
這將使標籤相同的寬度作爲FIELDGROUP最長的標籤。
1
您可以使用網格
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Content="Label" Grid.Row="0" Grid.Column="0"/>
<TextBox Grid.Row="0" Grid.Column="1"/>
<Label Content="Long Label" Grid.Row="1" Grid.Column="0"/>
<TextBox Grid.Row="1" Grid.Column="1"/>
0
我決定旁邊邏輯添加控制:
void MyControl_LayoutUpdated(object sender, EventArgs e)
{
if (this.columnSeparator.ActualWidth!=0&&this.columnSeparator.ActualWidth != this.columnSeparator.MinWidth)
{
this.IsLoaded = true;
SetWidth();
}
}
private void SetWidth()
{
if (IsWidthSet)
return;
if (!this.IsLoaded)
return;
var parentPanel = this.Parent as Panel;
if (parentPanel != null)
{
var textFields = parentPanel.Children.Where(p => p is BpTextField).Cast<BpTextField>().ToList();
double max = this.LabelWidth;
foreach (var textField in textFields)
{
max = Math.Max(max, textField.LabelWidth);
if (!textField.IsLoaded)
return;
}
foreach (var textField in textFields)
{
textField.LabelWidth = max;
}
this.LabelWidth = max;
}
}
public bool IsLoaded { get; set; }
public bool IsWidthSet { get; set; }
現在所有標籤對齊和好。
相關問題
- 1. 根據內容更改文字對齊
- 2. 對齊內容
- 3. 如何居中對齊Silverlight 3數據網格的標題模板的內容?
- 4. 對齊ListBoxItem內容
- 5. HTML內容對齊
- 6. WrapPanel內容對齊
- 7. 字節尋址內存(數據對齊)
- 8. 對齊div內的內容
- 9. 根據水平菜單對齊內容
- 10. 根據內容對齊jqGrid列
- 11. 根據div對齊我的內容
- 12. 「內容類型」的數據庫字段
- 13. html字段對齊
- 14. CSS內容垂直對齊
- 15. Flexbox的對齊內容
- 16. sidenav內容不對齊
- 17. 對齊頁面內容
- 18. HTML - 表格內容對齊
- 19. Flexbox佈局對齊內容
- 20. Flexbox:對齊內容:flex-end
- 21. 對齊ListFragment的內容
- 22. 對齊按鈕內容
- 23. 對齊表格內容
- 24. 對齊內容與CSS
- 25. 右對齊InputNumber內容
- 26. 對齊內容右MvcRazorToPdf庫
- 27. 對齊中心css內容
- 28. WPF RepeatButton內容對齊?
- 29. 對齊內容頂部div
- 30. 對齊在線內容
簡單地說,您可以將標籤與StackPanel分組(默認垂直方向)。堆疊面板將會增長以適應內容。 HTH – 2010-08-21 13:58:34