[英]WPF MultiBinding TextBox Text programmatically
我的視圖中有一個ComboBox,用戶可以選擇多個TextBox來動態創建。 每個TextBox都有一個索引i
,我想將它們每個都綁定到array[i]
。 我搜索了一個解決方案,發現需要將MultiBinding與轉換器一起使用。
如何在C#代碼而不是XAML中為TextBox設置MultiBinding? 謝謝
編輯:我正在創建一個textBoxes網格,以便創建一個矩陣,並且我想將所有它們綁定到一個包含該矩陣作為矢量的數組。 我的代碼:
myGrid.Children.Clear();
myGrid.RowDefinitions.Clear();
myGrid.ColumnDefinitions.Clear();
int row = int.Parse(comboBoxRow.SelectedValue.ToString());
int col = int.Parse(comboBoxCol.SelectedValue.ToString());
for (int i = 0; i < row; i++)
{
myGrid.RowDefinitions.Add(new RowDefinition());
}
for (int i = 0; i < col; i++)
{
myGrid.ColumnDefinitions.Add(new ColumnDefinition());
}
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
TextBox tb = new TextBox();
tb.SetValue(Grid.RowProperty, i);
tb.SetValue(Grid.ColumnProperty, j);
tb.SetBinding(TextBox.TextProperty, "matrixArray[j + col * i]")
myGrid.Children.Add(tb);
}
}
那么我需要寫些什么而不是: "array[j + col * i]"
?
在ViewModel中: public string[] matrixArray{ get; set; }
public string[] matrixArray{ get; set; }
我認為您應該編寫以下內容:
tb.SetBinding(TextBox.TextProperty, string.Format("matrixArray[{0}]", j + col * i))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.