我有一些字段的簡單形式。所以我決定添加一些帶有文本框和標籤的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. 對齊ListBoxItem內容
- 4. 字節尋址內存(數據對齊)
- 5. 如何居中對齊Silverlight 3數據網格的標題模板的內容?
- 6. 根據水平菜單對齊內容
- 7. html字段對齊
- 8. 對齊內容右MvcRazorToPdf庫
- 9. 對齊表格內容
- 10. 對齊按鈕內容
- 11. 對齊內容與CSS
- 12. 對齊頁面內容
- 13. 對齊內容頂部div
- 14. 表的內容左對齊
- 15. Flexbox的對齊內容
- 16. Flexbox佈局對齊內容
- 17. 使用css將div的全部內容對齊到右側。 (即對齊對象,圖像或輸入字段)
- 18. Silverlight對齊網格
- 19. 正確對齊數據表列中的單元格內容
- 20. 對齊一個div內響應內容
- 21. 3盒內聯,內容對齊
- 22. 在VerticalFieldManager中對齊字段
- 23. HTML對齊選擇字段
- 24. 黑莓字段對齊
- 25. 輸入字段的對齊
- 26. 對齊標籤字段symfony
- 27. 等高內容對齊2絕對格
- 28. 數據對齊
- 29. Div內容對齊 - 內容大於容器且位置錯誤
- 30. 如何正確對齊數字數據?
簡單地說,您可以將標籤與StackPanel分組(默認垂直方向)。堆疊面板將會增長以適應內容。 HTH – 2010-08-21 13:58:34